Datasheet

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.