Chapter 4 Software Development
Receive Only Skeleton
char buf_rx[BUF_SIZE];
void bulk_rx(uchar *buf, uint size)
{
/* Called after receiving each packet, this function manages buffer overflow for the application layer. */
if(Receive buffer threatens to overflow){
usb_rx_start(buf_rx, EP_RX); | /* Reinitialize pointer to start of buffer */ |
} |
|
} |
|
void main(void) |
|
{ |
|
/* Initialize microcontroller and peripherals, etc. */ |
|
: |
|
usb_init(); | /* Initialize USB control vaiables */ |
usb_set_callback(EP_RX,rx_callback); | /* Specify receive callback function */ |
usb_rx_start(buf_rx, EP_RX); | /* Specify receive data buffer and start */ |
: |
|
while(1){ |
|
/* Main loop */ ; |
|
} |
|
} |
|
Transmit Only Skeleton
char buf_tx[BUF_SIZE];
void bulk_tx(uchar *buf, uint size)
{
/* This function is called after transmitting each packet. */
usb_tx_start(buf_tx, EP_TX); | /* Reinitialize pointer to start of buffer */ |
}
void main(void)
{
/* Initialize microcontroller and peripherals, etc. */
:
usb_init(); | /* Initialize USB control variables */ |
usb_set_callback(EP_TX, bulk_tx); | /* Specify transmit callback function */ |
usb_tx_start(buf_tx, EP_TX); | /* Specify transmit data buffer and start */ |
: |
|
while(1){ |
|
/* Main loop */ ; |
|
} |
|
}
page