-         

Ergebnis 1 bis 10 von 10

Thema: Warum leuchtet die LED nicht ?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    17.12.2008
    Beiträge
    30

    Warum leuchtet die LED nicht ?

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    hallo ich arbeite mit ASM und versuche auch was in Bascom aber warum leuchtet hier die Led net ??

    Code:
     $regfile = "m8def.dat"                                     
    
     $crystal = 4000000                                        
    
     $baud = 9600                                              
    
     Config Pinb.0 = Output                                     
    
      do
         Portb.0 = 1                                           
         Waitms 100
         Portb.0 = 0                                      
         Waitms 100
      loop
    was ist an diesem Programm falsch ich verwende einen atmega8
    bitte um antwort MFG P.Gnauck

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    17.12.2008
    Beiträge
    30
    Oder kann mir vielleicht einer sagen wie ich es am besten Programmieren sollte ?

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Hallo Bqube,
    an deinen Zeilen sehe ich keinen Fehler.
    Bist du sicher, dass deine Hardware richtig mitspielt.
    Hast du das gleiche Programm mit ASM geschrieben und läuft es da?

    Gruß

    Rolf

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    19.02.2007
    Beiträge
    210
    das stimmt so nicht
    versuch mal

    Code:
    config portb=output
    do
     waitms 100
     toggle portb.0
    
    
    loop
    man kann den pin nicht configuriern nur den port
    config portb.0=output

    led alias portb.0

    led =on '1
    led =off '0

    so sollte es auch gehen#

  5. #5
    Erfahrener Benutzer Roboter Experte Avatar von Neutro
    Registriert seit
    28.10.2007
    Ort
    Ostfriesland
    Alter
    38
    Beiträge
    642
    Du musst nicht PINB.0 = output
    sondern PORTB.0 = output schreiben.
    Mit PIN definierst du einen Eingang z.B einen Taster, mit Port einen Ausgang.
    (Schau dir doch mal das Wiki zum Einstieg in die Bascom Prog. an.)

    MfG

    Neutro
    Jemand mit einer neuen Idee ist ein Spinner, bis er Erfolg hat.
    (Mark Twain)

  6. #6
    Erfahrener Benutzer Roboter Experte Avatar von Neutro
    Registriert seit
    28.10.2007
    Ort
    Ostfriesland
    Alter
    38
    Beiträge
    642
    Da war ich wohl eine sek. zu langsam.......
    Jemand mit einer neuen Idee ist ein Spinner, bis er Erfolg hat.
    (Mark Twain)

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    @magic33, Neutro
    habt ihr euch schon einmal die Help zum Thema Config Port angesehen?

    Config Port

    Action
    Sets the port or a port pin to the right data direction.

    Syntax
    CONFIG PORTx = state
    CONFIG PINx.y = state

    Ist genau das, was er schreibt und was so auch super funktioniert.

    Gruß

    Rolf

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    17.12.2008
    Beiträge
    30
    Hi,
    Super danke ich hab es so geschrieben und es hat geklappt aber liegt das vielleicht an meinem Simulator das der Simulator erst so spät anfängt zu arbeiten also die Led's umschalten das macht er erst ab 1543.00 us ??
    Hier ist der Code

    Code:
    $regfile = "m8def.dat"
    
     $crystal = 4000000
    
     $baud = 9600
    
     Config Portb = Output
    
      do
         Portb.0 = 1
         Waitms 0.1
         Portb.0 = 0
         Waitms 0.1
      Loop
    Aber noch eine Frage wie bekomme ich es hin das ich nur einzelne Ports vom B,C oder D als aus oder eingang einstelle ??
    Mfg P.Gnauck

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.09.2005
    Beiträge
    276
    So z.B.

    Code:
    Config Pinc.0 = Output    
    Config Pinc.1 = Output             
    Config Pinc.2 = Output                                
    Config Pinc.3 = Input   
    Config Pinc.4 = Input   
    Config Pinc.5 = Input   
    Config Pinc.6 = Input   
    Config Pinc.7 = Output
    Gento

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.112
    Zitat Zitat von Bqube
    der Simulator erst so spät anfängt zu arbeiten also die Led's umschalten das macht er erst ab 1543.00 us ??
    Davor initialisiert er das SRAM usw., das dauert seine Zeit.

    Zitat Zitat von Bqube
    Waitms 0.1
    Das geht nicht, als Wartezeit sind nur ganze Zahlen im Word Bereich erlaubt. 100 µs bekommst du ungefähr so hin
    Waitus 100

    Wenn du die Direktive $sim in dein Programm aufnimmst, werden die Wartezeiten im Simulator unterdrückt. Die echten Zeiten kannst du sowieso nur unten in der Statuszeile sehen. Ich denke, von dort hast du auch deine 1543 µs.

    Zitat Zitat von Bqube
    Aber noch eine Frage wie bekomme ich es hin das ich nur einzelne Ports vom B,C oder D als aus oder eingang einstelle ??
    Siehe dein eigenes Post ganz am Anfang.

    Noch was: Du kannst übrigens auch direkt in die Datenrichtugsregister (DDR) schreiben. Einen Pin zum Ausgang machst du z.B. durch
    DDRB.0 = 1
    oder den ganzen Port durch
    DDRB = &B0000_0001 (hier gehen auch die anderen Schreibweisen (dec, hex)

    Gruß

    Rolf

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •