My Documents/icctest/ASIO/asio_asm.c File Reference

#include "asio.h"

Functions

void asio_handler (void)

Detailed Description


Function Documentation

void asio_handler ( void   ) 

Handle transmit and receive here. Hard to make our deadline ... again :) LMM/Time lessons learned with beta preview:

Basic handler algorithm: Set time do work then waitcnt for remaining time to pass for time critical work. Setting/Saving a new rx/tx byte is not time critical; waitcnt there causes failure.

Get rx state. If rx state == mark (ASIO_RX_INVERTED) & rx not in progress, start new byte rx set new wait and continue Else if not tick time, decrement tick wait and continue

Else set tick to bit tick time If rx byte in progress, save bit to rxbyte wait and continue If tx byte in progress, set next bit from txbyte wait and continue Else if tx tail != head, load txbyte and tx start bit


Generated on Thu Apr 17 12:00:14 2008 for ASIO by  doxygen 1.5.4