User manual
461
mikoPascal PRO for dsPIC30/33 and PIC24
MikroElektronika
Soft_UART_Break
Prototype
procedure Soft_UART_Break();
Description Soft_UART_Read is blocking routine and it can block the program ow. Calling Soft_UART_Break
routine from the interrupt will unblock the program execution. This mechanism is similar to WDT.
Parameters None.
Returns Nothing.
Requires Nothing.
Example
var data1, error, counter : byte;
procedure Timer1Int(); org IVT_ADDR_T1INTERRUPT;
begin
counter := 0;
if (counter >= 20) then
begin
Soft_UART_Break();
counter := 0; // reset counter
end
else
Inc(counter); // increment counter
T1IF_bit := 0; // Clear Timer1 overow interrupt ag
end;
begin
...
if (Soft_UART_Init(PORTF, 2, 3, 14400, 0) = 0)
Soft_UART_Write(0x55);
...
// try Soft_UART_Read with blocking prevention mechanism
IPC0 := IPC0 or 0x1000; // Interrupt priority level = 1
T1IE_bit := 1; // Enable Timer1 interrupts
T1CON := 0x8030; // Timer1 ON, internal clock FCY, prescaler 1:256
data1 := Soft_UART_Read(&error);
T1IE_bit := 0; // Disable Timer1 interrupts
end.
Notes The Software UART library implements time-based activities, so interrupts need to be disabled when
using it.