⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fifo_rd_id.c

📁 C8051F3xx USB Hid Code
💻 C
字号:
// 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -