PIC16x Interrupt on change exempel
Vilken debugger?
Om du menar simulatorn så går det.
Step into - kör den instruktion som just är markerad, stannar efteråt
Step over - som ovan fast om aktuell instruktion är ett funktionsanrop körs funktionen och stannar efter return
Step out - Kör koden och stannar efter nästa return
Run - kör kontinuerligt eller stannar vid brytpunkt
Om du menar simulatorn så går det.
Step into - kör den instruktion som just är markerad, stannar efteråt
Step over - som ovan fast om aktuell instruktion är ett funktionsanrop körs funktionen och stannar efter return
Step out - Kör koden och stannar efter nästa return
Run - kör kontinuerligt eller stannar vid brytpunkt
Simulatorn funkar även för interrupt. Om du vill simulera externa interrupt kan du använda dig av Stimulus under Debugger-menyn. Står i hjälpen hur den används. För seriekommunikation verkar det lämpligt att skapa en vågform som ser ut som den verkliga mot serieingången.
Men, din fråga gällde alltså någon hårdvarukopplad debugger, eller?
Men, din fråga gällde alltså någon hårdvarukopplad debugger, eller?
Jag menade debuggern som finns i MPLAB (kanske kallas simulator?).
Jag kollade lite snabbt nu på stimulus där. Nytt för mig...
Vad jag förstår så kan man få register påverkade efter vissa tider som man fyller i i tabellen där. Då skulle man kunna fylla i där så det motsvarar seriell-data som kommer in på pinnen.
Är det möjligt att göra det omvända oxå, "spela in" vad som händer på en utgångspinne under tiden programmet körs ?
Jag kollade lite snabbt nu på stimulus där. Nytt för mig...
Vad jag förstår så kan man få register påverkade efter vissa tider som man fyller i i tabellen där. Då skulle man kunna fylla i där så det motsvarar seriell-data som kommer in på pinnen.
Är det möjligt att göra det omvända oxå, "spela in" vad som händer på en utgångspinne under tiden programmet körs ?
> Jag menade debuggern som finns i MPLAB (kanske kallas simulator?).
Eftersom den faktiskt heter MPSIM så kanske det ju enklast att kalla den för "simulatorn"...
Debugga behöver man inte göra om inte simuleringen går fel, annars finns
det ju inga "buggar" att "debugga"...
För att simulera ett interrupt (och för att testa att ISR'en fungerar) så kan
du alltid manuellt sätta lämplig xxIF flagga. Du kan även manuellt ladda
t.ex RXREG i USART'en med lämpligt värde/tecken innan (eventuellt sätts
RXIF automatiskt då, det vet jag inte). Jag tror inte att du behöver köra
stimulus för det, om man inte har mer komplexa indata.
> ..."spela in" vad som händer på en utgångspinne under tiden programmet körs ?
Ger inte "Trace", "Watch" eller "Logic Analyzer" det du behöver ?
Eftersom den faktiskt heter MPSIM så kanske det ju enklast att kalla den för "simulatorn"...

Debugga behöver man inte göra om inte simuleringen går fel, annars finns
det ju inga "buggar" att "debugga"...

För att simulera ett interrupt (och för att testa att ISR'en fungerar) så kan
du alltid manuellt sätta lämplig xxIF flagga. Du kan även manuellt ladda
t.ex RXREG i USART'en med lämpligt värde/tecken innan (eventuellt sätts
RXIF automatiskt då, det vet jag inte). Jag tror inte att du behöver köra
stimulus för det, om man inte har mer komplexa indata.
> ..."spela in" vad som händer på en utgångspinne under tiden programmet körs ?
Ger inte "Trace", "Watch" eller "Logic Analyzer" det du behöver ?
MPLAB SIM heter den. (Det här skrev jag till persika, den kanske heter MPSIM, MPLAB SIM står det i menyn)
Jo, det var så jag menade.
View -> Simulator Logic Analyzer
Tillägg: Det kan väl vara bra med en stimulus till usarten för att se om man lagt rätt värden i baud-registret samt att se om programmet hinner med att behandla datan.
Jo, det var så jag menade.
View -> Simulator Logic Analyzer
Tillägg: Det kan väl vara bra med en stimulus till usarten för att se om man lagt rätt värden i baud-registret samt att se om programmet hinner med att behandla datan.