Datasheet

Soft_UART_Break
368
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
Libraries
mikroPASCAL PRO for AVR
CHAPTER 6
Prototype
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
var data1, error, counter : byte ;
procedure Timer0Overflow_ISR(); org 0x12;
begin
counter := 0;
if (counter >= 20) then
begin
Soft_UART_Break();
counter := 0; // reset counter
end
else
Inc(counter); // increment counter
end;
begin
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;