Datasheet

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.