Mikroelektronika MIKROE-350 データシート

ページ / 526
Man_Break
251
MIKROELEKTRONIKA
- SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
Libraries
mikroBasic PRO for AVR
CHAPTER 6
Prototype
sub procedure Man_Break()
Returns
Nothing.
Description
Man_Receive is blocking routine and it can block the program flow. Call this
routine from interrupt to unblock the program execution. This mechanism is sim-
ilar to WDT.
Note: Interrupts should be disabled before using Manchester routines again
(see note at the top of this page).
Requires
Nothing.
Example
dim data1, error, counter as byte
sub procedure Timer0Overflow_ISR org 0x12
counter = 0
if (counter >= 20) then
Man_Break()
counter = 0                ' reset counter
else
Inc(counter)               ' increment counter
end if
end sub
main: 
TOIE0_bit  = 1      
' Timer0 overflow interrupt enable
TCCR0_bit  = 5     
' Start timer with 1024 prescaler
SREG_I_bit = 0                   ' Interrupt disable
...
Man_Receive_Init()
...
' try Man_Receive with blocking prevention mechanism
SREG_I_bit = 1                   ' Interrupt enable
data1 = Man_Receive(@error);
SREG_I_bit = 0                   ' Interrupt disable
...
end.