MPASM, detektera sidbyten (PIC mikrokontroller)
Postat: 24 augusti 2010, 19:35:06
Satt och fibblade med battmeterns kod och plötsligt dog den, det var litet kul, för det hände i MPSIM med, dvs direkt då jag körde så hoppade den tillbaka till reset. Notera att koden kompilerade OK, utan varningar om sidbyten, men den är mycket nära PICens maxstorlek.
Efter att jag fixad det genom att minska med koden litet så hittade jag ett ställe där den hoppade ut i det okända:
Ändrade goto till lgoto, så spelade det igen, men frågan kvarstår: Hur kunde jag ha ett hopp över sida utan att få en varning? JAg har ej undertryckt dem.
Edit: Äh.. lgoto spelar inte så bra med decfsz....
Efter att jag fixad det genom att minska med koden litet så hittade jag ett ställe där den hoppade ut i det okända:
Kod: Markera allt
check_minute
banksel mincounter
decfsz mincounter,f ; Has one minute elapsed?
goto check_minute1 ; no, not yet
movlw MINCOUNT ; yes, prime counter
movwf mincounter ; and jump to routine
; fcall goes here!
fcall poll
Edit: Äh.. lgoto spelar inte så bra med decfsz....