Mitt ekolod igen....
har en interruptrutin som jag vet att den anropas, men sen kommer jag inte vidare.
pseudo kod:
enable interrupt
goto wait
---
---
wait
goto $ ; står här och väntar på interrupt
---
---
slut på pseudo kod.
Kommer till wait och hoppar sen till interrupt rutinen. Det funkar perfa, kommer sen även till retfie, så den ska hoppa tillbaka. Problemet är att jag inte kommer förbi "goto $"
Antagligen inte så konstigt... men hur ska jag gör min delay? den ska stå och göra inget tills interrupten sen ska den fortsätta efter delayen. det är capture eller timer interrupt jag väntar på.
Interrupt, hur göra?
-
- Inlägg: 2360
- Blev medlem: 16 september 2003, 17:18:13
- Ort: Dubai, United Arab Emirates
- Kontakt:
Såhär typ
Kod: Markera allt
Sätt Flagga=0
Enabla Interrupts
VäntLoop:
Gå till Väntloop om Flagga=0
....
.... Fortsätt exekveringen här
....
Interrupt:
Sätt Flagga=1
Återvänd från interrupt med RETFIE
Om det bara är en delay i huvudloopen du vill uppnå så behöver du inte ens någon interrupt-rutin. Gör en loop som körs tills interrupt-flaggan sätts och sen clearar denna och fortsätter.
Alternativt sätt en egen flagga i interrupt-rutinen som du kollar i loopen.
edit: Mr. M hann före, med alternativ två menar jag samma sak som ovanstående.
Alternativt sätt en egen flagga i interrupt-rutinen som du kollar i loopen.
edit: Mr. M hann före, med alternativ två menar jag samma sak som ovanstående.