function.c

来自「本数据包提供用cy7c68013开发usb的完整源代码」· C语言 代码 · 共 58 行

C
58
字号
#pragma NOIV            

#include "testheader.h"
#include "testregs.h"
#include "testdly.h"

extern BOOL GotSUD;     
extern BOOL Sleep;
extern BOOL Rwuen;
extern BOOL Selfpwr;

volatile BOOL  wait_reg_return;
BYTE Configuration;     
BYTE AlternateSetting;  

#define VR_NAKALL_ON    0xD0
#define VR_NAKALL_OFF   0xD1


sbit PA0 = 0x80;
sbit PA1 = 0x81;
 int i;


TD_Init()            // 初始化异步数据传输,端口的配置要与端口描述符相一致
{   
	        REVCTL = 0x03;              //  必须设置 REVCTL1=1 当端点从手动模式切换到自动模式USB核不会自动装载端点
		SYNCDELAY;                  //  REVCTL0=1 CPU可以放弃、提交、编辑输入输出数据包
		SYNCDELAY;
		SYNCDELAY;
		EP0BCH = 0;                
		PORTACFG=0x40;                 // 设置PA.7 为 slcs; 
		SYNCDELAY;
		FIFOPINPOLAR = 0x00;              //设 PKTEND SLOE SLRD SLWR EF FF 低电平有效                                       
		SYNCDELAY;                       
		CPUCS = ((CPUCS & ~bmCLKSPD) | bmCLKSPD1) ;  // CPUCLK=48MKHZ  
		SYNCDELAY;            
		OEA =0x03;
		SYNCDELAY;
	   	EP2CFG = 0xA2;          // EP2: 输出端点 512字节每个数据包 2级缓冲
	        SYNCDELAY;
		EP4CFG = 0xA0;         // EP4: 输出端点 512字节每个数据包 2级缓冲      
	        SYNCDELAY; 
		EP6CFG = 0xEA;              // EP6: 输入端点 1024字节每级缓冲  2级缓冲                      
	        SYNCDELAY;  
	        EP8CFG = 0x00;
		SYNCDELAY; 
		FIFORESET = 0x80;            // 复位 FIFO
		SYNCDELAY;
		FIFORESET = 0x02;
		SYNCDELAY;
		FIFORESET = 0x04;
		SYNCDELAY;
		FIFORESET = 0x06;
		SYNCDELAY;
		FIFORESET = 0x00;
		SYNCDELAY; 
		IFCONFIG = 0xcb;            // 设置接口为异步

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?