Guten morgen Ich bin am verzweifeln, ich habe einen AT8 in einem Evaluationsboard von pollin, einen AT8 hab ich schon zerfused, nun hat´s mit dem fusen wenigstens geklappt. Allerdings versuche ich schon die ganze zeit eine LED zum blinken zu bringen. Sie leuchtet nur das hier ist mein zusammengeschnipselter code $regfile = "m8def.dat" $crystal = 1600000 Ddrd = &B01100000 Portd = &B01100000 Config Portd = Output Do Portd.6 = 0 Waitms 1000 Portd.6 = 1 Loop End Bitte nicht steinigen, ich weiß das es total simpel ist, aber ich werd gleich cholerisch ;-) Vielen dank im vorraus. Der neugierige
>Portd.6 = 0 >Waitms 1000 >Portd.6 = 1 Du musst nicht nur nach dem Einschalten der LED, sondern auch nach dem Ausschalten warten: Do Portd.6 = 0 Waitms 1000 Portd.6 = 1 Waitms 1000 <-- ! Loop
Hallo AVRFan Das habe ich gerade mal probiert, aber sie leutet trotzdem nur :-(
Für das Programm war es unnötig an den Fuses rumzuspielen. Das hätte auch mit dem internen Takt von 1 MHz gut funktioniert. Wie wäre es hiermit? Wechselblinker der beiden LEDs Do Toggle Portd.5 Waitms 500 Toggle Portd.6 Loop
$crystal = 1600000 Hast Du hier nicht ne Null vergessen?
Hi, handelt es sich hier um den Standardfehler, dass die LED einfach zu schnell blinkt, Stichwort PWM? Dann wäre sie nur gedimmt. Gruß Fred
Fred wrote: > Hi, > > handelt es sich hier um den Standardfehler, dass die LED einfach zu > schnell blinkt, Stichwort PWM? Dann wäre sie nur gedimmt. > Gruß Bei den Zeiten eher unwahrscheinlich. Wenn er aber tatsächlich eine 0 bei $crystal vergessen hat, dann blinkt die LED nicht alle 1 Sekunde sondern alle 10 Sekunden. Wenn er nicht geduldig genug war, dann übersieht man das schon mal. 10 Sekunden können laaaang sein.
>Wenn er aber tatsächlich eine 0 bei $crystal vergessen >hat, dann blinkt die LED nicht alle 1 Sekunde sondern alle >10 Sekunden. Wenn er nicht geduldig genug war, dann >übersieht man das schon mal. 10 Sekunden können laaaang sein. Andersrum wird 'n Schuh draus. Wenn er eine Null zu viel hätte, würde sie alle 10 s blinken. Wenn er ne Null zu wenig hat, blinkt sie alle 100 ms. Ich versteh zwar nicht viel von Bascom, aber wieso konfigurierst du den Port mehrmals als Ausgang?
probiers mal hiermit: $regfile = "m8def.dat" $crystal = 1600000 Config Portd.6 = Output Do Portd.6 = 0 Waitms 1000 Portd.6 = 1 waitms 1000 Loop End oder mit $regfile = "m8def.dat" $crystal = 1600000 Config Portd.6 = Output Do toggle Portd.6 Waitms 1000 Loop End
Hallo, bei Pollin gibt es da schon ein fertiges Testprogramm für das Board zum runterladen, ist auch in bascom. Probier mal das aus, und wenn das funktioniert kannst du es ja umbauen. MFG Mixer
$regfile = "m8def.dat" $crystal = 16000000 'entweder Port D so komplett als Ausgang konfiguriren Ddrd = &B11111111 'oder so Config Portd = Output Do Portd.6 = 0 Waitms 1000 Portd.6 = 1 Waitms 1000 Loop End So müßte es mit 0,5Hz blinken WENN der Mega8 tatsächlich mit 16Mhz getaktet ist.Sonst probiere mal, den Wert $Crystal auf 1Mhz zu setzen, nicht daß Dir die Fuse-Einstellungen mißlungen sind und er nicht wie erwartet getaktet wird. MfG Paul
Lass mal die Compilerdirektiven $.. weg und stelle unter "Options/Compiler/chip" den Controller und unter "Optins/Compiler/Communications" die Taktrequenz ein. Hat denn die Programmübertragung zum M8 hin?
Marc Meise wrote:
> Lass mal die Compilerdirektiven $.. weg und stelle unter
Was soll das bringen?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.