USB通用函数API接口代码.docx

USB通用函数API接口代码.docx

ID:50831072

大小:37.17 KB

页数:16页

时间:2020-03-15

USB通用函数API接口代码.docx_第1页
USB通用函数API接口代码.docx_第2页
USB通用函数API接口代码.docx_第3页
USB通用函数API接口代码.docx_第4页
USB通用函数API接口代码.docx_第5页
资源描述:

《USB通用函数API接口代码.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、//直接从.c文件复制黏贴过来的,要用自己再把下面的代码另存份.c的.#defineBYTEunsignedchar//**************************************************//基本定义函数//**************************************************BYTEFIFO_RD_CHECK(BYTEnum){BYTEFIFO_FLAG=0;UCC

2、=num;//选择Endpoint,0,1,2,3,4,MISC&=0xf8;//低3位置0MISC

3、=0X00;//TX位置0;Delay_3us

4、();MISC

5、=0X01;//SetRequestDelay_28us();if(MISC&0X40!=0)FIFO_FLAG=0x0f;//READYif(MISC&0x80!=0)FIF0_FLAG&=0xf0;//Len0DetectedMISC&=0xfe;//clearREQreturnFIFO_FLAG;}BYTEFIFO_WR_CHECK(BYTEnum){BYTEFIFO_FLAG=0;//后4位表示Ready位,前四位表示Len0位的状态是否有被设置UCC

6、=num;//选择Endpoint,0,1,2,3,4,MISC&=0xf8;//低3位置0MISC

7、

8、=0X02;//TX位置0;Delay_3us();MISC

9、=0X01;//SetRequestDelay_28us();if(MISC&0X40!=0)FIFO_FLAG=0x0f;//READYif(MISC&0x80!=0)FIF0_FLAG&=0xf0;//Len0DetectedMISC&=0xfe;//clearREQreturnFIFO_FLAG;}voidRead_FIFO(BYTE*Fifo_Addr,BYTEFifo_Size,BYTE*buffer){inti=0;MISC

10、=0x01;//SetRequestfor(i=0;i

11、i++){buffer[i]=Fifo_Addr[0];//从FIFO地址取值Delay_28us();if(MISC&0x40==0)break;//NotReady}MISC^=0X02;//改变TX位状态Delay_3us();MISC&=0XFE;//ClearRequest}voidWrite_FIFO(BYTE*Fifo_Addr,BYTESendLenth,BYTE*buffer){inti=0;MISC

12、=0X01;//SetRequestfor(i=0;i

13、的Fifo中Delay_28us();if(MISC&0x40==0)break;//NotReady}MISC^=0X02;//改变TX位状态Delay_3us();MISC&=0XFE;//ClearRequest}BOOLCheck_Real_Cmd(){BYTEbFlag_Real_Cmd=FALSE;if(MISC&0X20!=0)bFlag_Real_Cmd=TRUE;if(MISC&0X80!=0)bFlag_Real_Cmd=TRUE;returnbFlag_Real_Cmd;}voidSend_hand(){BOOLIsRealCmd,Status_Flag

14、;while(1){IsRealCmd=Check_Real_Cmd();if(IsRealCmd==TRUE)return;else{Status_Flag=FIFO_WR_CHECK(0);if(Status_Flag&0x0f!=0)//Fifo_Readybreak;elsecontinue;}}MISC

15、=0x01;//SetRequsetMISC^=0X02;//改变TX位状态Delay_3us();MISC&=0XFE;//ClearRequest}voidcontrol_read(WORD*rom_dataptr,BYTE*buffer)//从中读取数据,{/

16、/rom_dataptr是全局的在其他函数中赋值改变BYTEtemp,i=0;if(buffer[7]!=0)//FIFO_WLENGTHHreturn;if(buffer[6]==0)//FIFO_WLENGTHLreturn;if(buffer[6]>data_start[0])//请求的数据超出ROM数据return;data_count=buffer[6];if(MISC&0x40!=0)//是控制指令return;if(data_count==0){Send_Hand_Shake();retu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。