Så er jeg igang igen.
Har lavet alle ændringer som du skrev og brugt de nye led.c og h, og har ikke nogle toggleled() eller setLed(#) nogle andre steder i koden.
og det her er en kedelig mail der bare beskriver hvordan jeg går frem, ligeså meget for min egen skyld, så jeg prøver at være systematisk i min fejlsøgning
Når jeg starter systemet op lyser alle dioder pa4-7.
så prøver jeg at skrive
setLED1(0);
setLED2(0);
setLED3(0);
setLED4(0);
lige efter initled() i main så slukker alle led (det gør de ikke hvis jeg først skriver dem efter eks sei)
apropos SEI. skal den stå 2 steder. kan det ikke skabe problemer at enable interrupts 2 steder?
så men efter de alle er slukket, smider jeg setLED1((SREG >> 7) & 1); ind i main's while løkke og alt er stadig slukket så væk med den igen.
prøver at smide en toggleLED1(); ind i startknap funktionen efter prell sikring, og intet sker. stadig slukket.
prøver en setLED1(1) samme sted stadik slukket
fjerner alle setLED#(0) og smider toggle led ind i startknap funktionen igen og ser hvad der sker. Alt lyser og intet toggler. prøver også lige setLED1(0). ingen reaktion
Prøver at skrive PINA = (1 << PA4); alt lyser fortsat når der trykkes på start.
Smider alle setLED#(0) ind igen og prøver med samme toggle alle leds er nu bare slukket
gør jeg noget forkert her?
Fandt ud af noget interessant. Jeg kan bruge setLED#(0) før initdosing i main.c men samme komando virker ikke efter initdosing
så det må vel betyde at den hænger i init af dosing et eller andet sted
Så søgte videre ved at følge programmet.
den går til initdosing hvorfra den går til startdosing og setLED#(0) komandoen virker indtil gSettings = calculateSettingsDip(getADC1Value()); efter denne kommando virker det ikke mere så søger videre derfra
Gennem hele uint8_t calculateSettingsDip(uint16_t gDipSwitches) virker det også men så tænker jeg
i startdosing sætter den gSettings = calculateSettingsDip(getADC1Value()); men calculateSettingsDip funktionen hedder calculateSettingsDip(uint16_t gDipSwitches) det stemmer jo ikke overens, så prøver at ændre i startdosing så det er gSettings = calculateSettingsDip(uint16_t gDipSwitches istedet for gSettings = calculateSettingsDip(getADC1Value());
og det kunne jeg ikke.
så må jeg jo kigge videre i getADC1Value() og se hvad der sker der
den slukker led gennem hele uint16_t getADCValue(uint8_t aADC) men i void waitUntilADCStable() slukker den ikke noget
i funktionen uint16_t getADC1Value() slukker den for led men ikke i de 2 efterfølgende
uint16_t getADC2Value() og uint16_t getADC3Value()
og nu vil jeg stoppe for i dag og hoppe i seng