PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LED blinkt nicht ganz richtig-> Codeanalyse



strunz
19.05.2005, 00:49
Hallo Leute,

ich habe heute versucht mein erstes kleines Bascom AVR Programm zu schreiben, allerding mit mäsigem Erfolg:



$regfile = "m32def.dat"
$crystal = 4000000
$baud = 9600


Config Porta = Output

Do

Set Porta.1
Wait 1
Reset Porta.1
Wait 1

Loop


Ich wollte die LED an PortA.1 einfach mal zum blinken bringen.

Was wirklich passiert: Die LED geht nicht ganz aus, sondern wird nur etwas dunkler. Aber schon zu den richtigen Zeiten.
Warum geht sie nicht ganz aus?
Was kann ich dagegen tun?

Danke

Getaco
19.05.2005, 06:10
Könnte das nicht am benutzten Vorwidderstand liegen ? Ich hab bei mier 1K vordran gehängt und die geht prima an und aus.

Alter Knacker
19.05.2005, 08:21
entweder liegts am widerstand oder an der syntax.
mein erstes programm sah so aus:



$regfile = "m32def.dat"
$crystal = 4000000
$baud = 9600


Config Porta = Output

Do

Porta.1 = 1
Wait 1
Porta.1 = 0
Wait 1

Loop


mfg knacki

strunz
19.05.2005, 12:16
Hm,
habe beide Möglichkeiten ausprobiert, aber ohne Erfolg. Das selbe Problem.
Der Einzige Unterschied: Beim 1K Widerstand leuchtet die LED nicht ganz so hell wenn sie HI sein sollte. :-(

Wenn ich das richtig verstehe, dann macht der Controller doch nichts anderes als die Masse für die LED durchzuschalten oder halt nicht.
Eigentlich dürfte es doch keinen Zustand dazwischen deben. Oder?

Alter Knacker
19.05.2005, 12:37
erm....
hast natürlich recht, der widerstand macht heller oder dunkler und zwischenzustand ist auch seltsam......

die baud sind eigentlich unnötig, bloss so nebenbei.
stimmt der crystal?
externer oder interner quarz?
wenn intern, stell mal auf default, also 1Mhz.
mfg knacki

bertl100
19.05.2005, 12:43
Ich hatte auch mal so ein Problem.
Lass den controller doch die Spannung ausgeben und verbinde das LED mit Masse.
Eventuell hast den falschen Pin erwischt.

pebisoft
19.05.2005, 16:52
das schafft der controller nicht. immer von + über widerstand an port gehen.
mfg pebisoft

strunz
19.05.2005, 18:20
@ Knacki

der Quarz stimmt, ist ein externer 4 Mhz. Habe nur nich 27pF sondern 17 pF genommen. Weil nix anderes da war!

Habe aber schon das Hello World Programm erfolgreich laufen lassen.

@ bertl
ich glaube dass macht der Controller nur einmal und dann wars das ;-)
Der Port ist richtig, weil am anderen tut sich garnichts.

Noch welche vorschläge?