Mikroelektronika MIKROE-350 データシート

ページ / 526
Soft_UART_Break
355
MIKROELEKTRONIKA
- SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
Libraries
mikroBasic PRO for AVR
CHAPTER 6
Prototype
sub procedure Soft_UART_Break()
Returns
Nothing.
Description
Soft_UART_Read 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 Software UART 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
Soft_UART_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
...
Soft_UART_Init(9600)
Soft_UART_Write(0x55)
...
' try Soft_UART_Read with blocking prevention mechanism
SREG_I_bit = 1                   ' Interrupt enable
data1 = Soft_UART_Read(&error)
SREG_I_bit = 0                   ' Interrupt disable
...
end.