Mikroelektronika MIKROE-442 Datenbogen

Seite von 726
462
mikoBasic PRO for dsPIC30/33 and PIC24
MikroElektronika
Soft_UART_Break
Prototype
sub procedure Soft_UART_Break()
Description Soft_UART_Read is blocking routine and it can block the program flow. 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
dim data1, error, counter as byte
sub procedure Timer1Int() org IVT_ADDR_T1INTERRUPT
  counter = 0
  if (counter >= 20) then
    Soft_UART_Break()
    counter = 0                ‘ reset counter
  else
    Inc(counter)               ‘ increment counter
  end if
  T1IF_bit = 0                 ‘ Clear Timer1 overflow interrupt flag
end sub
main:
  ...
  if (Soft_UART_Init(PORTF, 2, 3, 14400, 0) = 0) then
    Soft_UART_Write(0x55)
  end if
  ...
  ‘ 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.