Mikroelektronika MIKROE-350 データシート
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.
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).
(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
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);
data1 = Man_Receive(@error);
SREG_I_bit = 0 ' Interrupt disable
...
end.