Hi, ich habe gerade mit meinem Projekt ein großes Problem. >:( >:(
Ich habe einen Code geschrieben und den lade ich auf einen Arduino über USB, funktioniert. Super.
Jetzt lade ich den gleichen Code( nichts verändert) auf meine Platine , ebenfalls ein 328er, nur über ISP ( AVRISP MKII) und er funktioniert nicht. ( alles funktioniert, dallas, ausgabe, nur die Zeit nicht)
In beiden fällen sind die Belegungen die gleichen, die Platine ist die fertige Variante und der UNO soll nur zum testen sein. Ich habe auf der Platine leider keine Serial ausgabe, deswegen der UNO.
Während der Code auf dem UNO ohne Problem läuft, habe ich auf der Platine nur Probleme.
-
upload mit ISP , wird der eeprom immer wieder gelöscht. ( ich glaube, das wäre normal, oder)
-
es geht hier rum:
if (millis() - altMillis >= 900)
{
altMillis = millis();
sekunden++;
return; <---------- WICHTIG!!!!!!!!
}
//Minute***
if (sekunden > 59)
{
sekunden = 0;
minuten++;
test_minute = 1;
}
wenn ich return einfüge, dann zählt er genau richtig, ABER nur auf dem UNO (SerialMonitor), auf der Platine geht garnichts, ( habe es auf dem LCD ausgegeben), dort zählt er immer weiter, auch wenn sekunden > 59 ist. Als ob es die nächste if Anweisung nicht geben würde? :o
Auf dem UNO setzt er sekunden richtig wieder auf 0.
wenn ich aber return entferne, dann zählt der UNO langsam und die sekunden stimmen nicht ABER auf der Platine zählt er jetz die sekunden und setzt sie dann wieder auf 0
Warum gibt es hier einen unterschied?? Der upload erfolgt erst auf den UNO und dann auf die Platine( nichts verändert) oder umgekehrt, beides das gleiche.
Hardware sollte es nicht sein, weil die Temperaturmessungen funktionieren, der Rest geht auch und die LCD sind die gleichen, alles das gleiche.
Der compiller meckert auch nicht.
Ich sitze schon den ganzen Tag vor dem Problem und finde kein Lösung! >:( >:(
Wer kann mir helfen??
MfG Marco