Oder kann mir vielleicht einer sagen wie ich es am besten Programmieren sollte ?
hallo ich arbeite mit ASM und versuche auch was in Bascom aber warum leuchtet hier die Led net ??
was ist an diesem Programm falsch ich verwende einen atmega8Code:$regfile = "m8def.dat" $crystal = 4000000 $baud = 9600 Config Pinb.0 = Output do Portb.0 = 1 Waitms 100 Portb.0 = 0 Waitms 100 loop
bitte um antwort MFG P.Gnauck
Oder kann mir vielleicht einer sagen wie ich es am besten Programmieren sollte ?
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
das stimmt so nicht
versuch mal
man kann den pin nicht configuriern nur den portCode:config portb=output do waitms 100 toggle portb.0 loop
config portb.0=output
led alias portb.0
led =on '1
led =off '0
so sollte es auch gehen#
Da war ich wohl eine sek. zu langsam.......
Jemand mit einer neuen Idee ist ein Spinner, bis er Erfolg hat.
(Mark Twain)
@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
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
Aber noch eine Frage wie bekomme ich es hin das ich nur einzelne Ports vom B,C oder D als aus oder eingang einstelle ??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
Mfg P.Gnauck
So z.B.
GentoCode: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
Davor initialisiert er das SRAM usw., das dauert seine Zeit.Zitat von Bqube
Das geht nicht, als Wartezeit sind nur ganze Zahlen im Word Bereich erlaubt. 100 µs bekommst du ungefähr so hinZitat von Bqube
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.
Siehe dein eigenes Post ganz am Anfang.Zitat von Bqube
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
Lesezeichen