Programm startet erst nach Reset??

hk007:
Das ist A0 - A4. Also die Analogeingänge.

Ah, fortschrittliche Programmiertechniken mit undokumentierten Features!

Es scheint jedenfalls ansteckend zu sein. Ich habe selbst mal probeweise mit zwei Funktionen getestet, die Dein LCD5110-Objekt verwendet, und zwar mit digitalPinToBitMask() und digitalPinToPort(), und nun habe ich auch ein Board mit Reset-Problem (UNO-Board, China-Klon).

Das Reset-Problem ist bei mir zwar anders gelagert, bei meinem Board äußert es sich so:

  • Programmstart nach Programmupload ==> immer OK
  • Programmstart nach Power-On ==> immer OK
  • Programmstart nach Offnen des seriellen Monitors ==> fast immer OK
  • Programmstart nach Drücken des Reset-Knopfes ==> oft nicht OK

Wenn das Reset-Problem auftritt, flasht nur die Pin-13 LED dreimal kurz hintereinander, mit Abständen von ca. einer Sekunde zwischen den drei Flashs in einer Endlosschleife, das Programm startet nicht. Offenbar wird der Bootloader nicht mehr verlassen. Und dann hilft auch kein Reset-Knopf mehr weiter: Ich muß entweder das Board kurz vom Strom nehmen und wieder anstecken oder das Programm neu hochladen, dann startet es wieder.

Dieses Reset-Problem hat mein Board meines Erachtens erst bekommen, nachdem ich mit den beiden Funktionen digitalPinToBitMask() und digitalPinToPort(CS) an den Analogports herumgespielt habe.

Ich muss mal sehen, ob ich noch irgendwo einen losen Atmega328 herumliegen habe, dann werde ich den mal austauschen und sehen, ob tatsächlich der Controller so verändert wurde, dass er das Problem nun hat, oder ob es am China-Board liegt und von mir bisher nicht entdeckt wurde, weil ich gar nicht so viel von Hand resettet habe. Mit DIP 28-pol Fassung auf dem Board kann ich meinen Controller ja wenigstens wechseln.