fifo_rd_id.c
来自「C8051F3xx USB Hid Code」· C语言 代码 · 共 32 行
C
32 行
// FIFO_RD_ID.c
//
// void FIFO_Read_idata( BYTE fifo_adr, BYTE n, BYTE idata * ptr )
//
//--------------------------------------------------------------------
#include <c8051F320.h>
typedef unsigned char BYTE;
void FIFO_Read_idata( BYTE fifo_adr, BYTE n, BYTE idata * ptr )
{
if ( n != 0 ) {
if ( --n == 0 ) {
USB0ADR = fifo_adr | 0x80; // Set address and initiate first read
while( USB0ADR & 0x80 ); // Wait for data ready
*ptr = USB0DAT; // read out FIFO data
return;
}
USB0ADR = fifo_adr | 0xC0; // Set address, auto-read and initiate first read
do {
while(USB0ADR & 0x80); // Wait for BUSY->'0' (data ready)
*ptr++ = USB0DAT; // Copy data byte
} while ( --n != 0 );
while(USB0ADR & 0x80); // Wait for data ready
USB0ADR = 0; // Clear auto-read
*ptr = USB0DAT; // Read last data
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?