Mikroelektronika MIKROE-742 데이터 시트
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.
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).
(see note at the top of this page).
Requires
Nothing.
Example
var data1, error, counter : byte ;
procedure Timer0Overflow_ISR(); org 0x12;
begin
begin
counter := 0;
if (counter >= 20) then
begin
begin
Soft_UART_Break();
counter := 0; // reset counter
end
else
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;