Archiv verlassen und diese Seite im Standarddesign anzeigen : Warum leuchtet die LED nicht ?
hallo ich arbeite mit ASM und versuche auch was in Bascom aber warum leuchtet hier die Led net ??
$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
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
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#
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
Da war ich wohl eine sek. zu langsam.......
@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
$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
So z.B.
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
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.
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.
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
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.