Nachdem ich bis jetzt der Meinung war, nicht ganz Blind durchs Leben zu laufen , werde ich z.Zt. scheinbat eines Besseren belehrt. Ich versuche die ersten Schritte mit einem Arduino Meaga 1280 und in diesem Zusammenhang auch Bascom 2.0.7.1. Bei dem Versuch mit verschiedenen Beispielen probiere ich im ersten Schritt das Beispiel mit dem dafür vorgesehenen Prozessor und danach mit dem m1280def.dat. Also 1. Beispiel laden 2. Compilieren 3. Simulieren 4. Anpassen auf m1280def.dat 5. ggf. Anpassen der Ports 6. Compilieren 7. Simulieren 8. Auf Arduino schiessen 9. und auf Hardware nochmals testen und freuen das es geht Bis jetzt war das auch alles recht erfolgreich und ich hab eine Menge über den Chip und seine Fähigkeiten gelernt. Seit Freitag ist alles anders. Habe mich hier das erste Mal mit INT0 beschäftigt. Für den atmega8 mit folgenden Code $regfile = "M8def.dat" $crystal = 10000000 $hwstack = 100 $swstack = 100 $framesize = 100 $sim 'LED1 an PD7 Led1 Alias Portb.7 Config Led1 = Output 'LED2 an PD6 Led2 Alias Portb.6 Config Led2 = Output 'TASTER1 an PD2 Taster1 Alias Pind.2 Config Taster1 = Input Taster1 = 1 On Int0 On_int0 Config Int0 = Falling Enable Int0 Enable Interrupts Do Toggle Led1 Waitms 200 Loop End On_int0: Toggle Led2 Return Nicht sonderlich anspruchsvoll aber der Code funktioniert und lässt sich auch simulieren Nach Änderung auf den 1280ger(m1280def.dar)und Anpassung des Interupts- Int0 liegt auf portd0 - geschieht nix in der Simulation und nach dem Brennen auf den Arduino ebenfalls nix. Der Interrupt wird nicht ausgeführt. Ich hab alles Mögliche ausprobiert - ohne Erfolg. Hat jemand von Euch eine Idee was Falsch laufen könnte??? Ich weis nicht mehr weiter. Bin dankbar für jede Hilfe
Hiermit Taster1 = 1 wolltest du wahrscheinlich den PullUp einschalten. Dazu musst du aber PortD.2=1 schreiben.
Ergibt sich das nicht aus dem Taster1 Alias Pind.2 .............. Taster1 = 1 und warum gehts dann beim M8dat.def ???????????
Mir ist nicht ganz so klar, was nicht funktioniert. Hast Du das Programm für den ATmega8 nur simuliert oder lief es auf irgendeinem Board, also real? Funktioniert nur der Interrupt nicht, oder auch die andern Programmteile nicht (LED, Taster)? Ganz wichtig! Wie löst Du den Interrupt aus?
Sk Dx schrieb: > Ergibt sich das nicht aus dem > > Taster1 Alias Pind.2 > .............. > Taster1 = 1 Daraus ergibt sich nicht, dass der Pullup eingeschaltet werden soll. Das Pin Register ist schliesslich etwas anderes als das Port Register. > und warum gehts dann beim M8dat.def ??????????? ZUfall. Nicht identische Eingangsbeschaltung. Die Sterne standen günstig. Elektrostatische Einstreuungen. Irgendwas anderes, was den Pin auf 1 zog.
zu K.H.B. ok - getestet - ohne Erfolg. Gleiches Verhalten. m8 geht(simulation), m1280 geht nicht(weder Simulation noch gebrannt). zu Karl Die m8 routinen laufen auf dem Simulator da mir eine Zielhardware fehlt. Spielt auch keine Rolle, da Sie eh alle im Simulator laufen. In sofern wird natürlich auch die hardware(LED/TASTER) simuliert. Was Das Programm tun soll ist wohl nachvollziehbar. Was nicht geht ist die Auslösung des Interruptes per Taste.
Sk Dx schrieb: > Die m8 routinen laufen auf dem Simulator da mir eine Zielhardware fehlt. > Spielt auch keine Rolle, da Sie eh alle im Simulator laufen. OK. Wenn der Simulator nicht nach Vorstellung läuft (er kann ja einen Bug haben), ist es ggf. besser,sich direkt an der Hersteller zu wenden. http://www.mcselec.com/support-center/ Der ATMega1280 ist aber dann schon real? Wenn es real nicht mit dem Interrupt funktioniert, wird es wahrscheinlich daran liegen, dass irgendetwas falsch angeschlossen wurde. Ohne Schaltplan kann man nur raten.
Hast Du noch eine ältere Version von Bascom? Ich habe hier das Problem, dass manches Programm unter >2.0.x sich merkwürdig verhält. (Timer0 im speziellen) Unter der 1.11.9.8 lässt es sich ohne Probleme kompilieren und macht das was es soll. An der Zielhardware hat sich nichts verändert! (Mega64) Mirko
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.