Problemet är ingen nyhet och går att läsa i Errata.
Den Pic jag använder är Pic18F4520 men jag gissar att det inte är den enda som lider av det här.
Det hela går ut på att man inte kan använda movff för att lagra WREG,STATUS,BSR vid lågprio-interrupt om man samtidigt använder högprio-interrupt.
Det här är kopierat från en template, så här får man alltså inte göra.
Kod: Markera allt
movff STATUS,STATUS_TEMP ;save STATUS register
movff WREG,WREG_TEMP ;save working register
movff BSR,BSR_TEMP ;save BSR register
movff BSR_TEMP,BSR ;restore BSR register
movff WREG_TEMP,WREG ;restore working register
movff STATUS_TEMP,STATUS ;restore STATUS regi
Jag har haft olösbara problem tidigare vilket har resulterat i nerlagda projekt.
Nu vet jag att det här har orsakat minst ett nerlagt projekt.
Microchip suger!