找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3457|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

ch370 ch372調(diào)試?yán)?/span>

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:148938 發(fā)表于 2016-11-20 18:50 | 只看該作者 |只看大圖 回帖獎勵 |正序?yàn)g覽 |閱讀模式
CH370調(diào)試?yán)滔螺d:
CH372調(diào)試?yán)?zip (23.1 KB, 下載次數(shù): 26)


  1. #ifndef __CH372_H_
  2. #define __CH372_H_
  3. #ifndef uchar
  4. #define uchar unsigned char
  5. #endif

  6. #ifndef uint
  7. #define uint unsigned int
  8. #endif

  9. #define CMD_GET_STATUS         0x22
  10. #define CMD_RD_USB_DATA         0x28
  11. #define CMD_WR_USB_DATA         0x2B
  12. #define USB_INT_EP2_IN         0x0A
  13. #define CMD_UNLOCK_USB         0x23
  14. #define CMD_SET_USB_MODE 0x02
  15. #define USB_INT_EP2_OUT  0x02

  16. sbit CH372_INT=P3^2;
  17. sbit CH372_CS=P3^3;
  18. sbit CH372_RD=P3^4;
  19. sbit CH372_WR=P3^5;
  20. sbit CH372_A0=P3^6;

  21. void delay2us()
  22. {
  23. uchar i;
  24. for(i=0;i<2;i++)
  25. ;
  26. }
  27.         void delay50ms()
  28.                 {
  29.                 uchar  i,j;
  30.                 for(i=0;i<200;i++)
  31.                    for(j=0;j<250;j++)
  32.                    ;
  33.                 }
  34.                 void CH372_WRCMD(uchar cmd)
  35.                 {
  36.                 delay2us();
  37.                 P0=cmd;
  38.                 CH372_A0=1;
  39.                 CH372_RD=1;
  40.                 CH372_CS=0;
  41.                 CH372_WR=0;
  42.                 CH372_WR=1;
  43.                 CH372_CS=1;
  44.                 CH372_A0=0;
  45.                 P0=0XFF;
  46.                 delay2us();

  47.                 }
  48.                 void CH372_WRDAT(uchar dat)
  49.                 {
  50.                 P0=dat;
  51.                 CH372_A0=0;
  52.                 CH372_CS=0;
  53.                 CH372_WR=0;
  54.                 CH372_CS=0;
  55.                 CH372_WR=1;
  56.                 CH372_CS=1;
  57.                 P0=0XFF;
  58.                 }
  59.                 uchar CH372_REDAT()
  60.                 {
  61.                 uchar temp;
  62.                 P0=0XFF;
  63.                 CH372_A0=0;
  64.                 CH372_CS=0;
  65.                 CH372_RD=0;
  66.                 temp=P0;
  67.                 CH372_RD=1;
  68.                 CH372_CS=1;
  69.                 P0=0XFF;
  70.                 return temp;
  71.                 }

  72.                 void int0(void)interrupt 0 using 0
  73.                 {
  74.                 uchar i,temp,length;
  75.                 uchar data buf[64];
  76.                 CH372_WRCMD(CMD_GET_STATUS);        // CMD_GET_STATUS 發(fā)獲取372的中斷類型(狀態(tài))命令,并取消中斷信號
  77.                 temp=CH372_REDAT();
  78.                 switch(temp)
  79.                 {
  80.                 case USB_INT_EP2_OUT:                          //如果是0x02,則是端點(diǎn)2的OUT事務(wù)
  81.                 CH372_WRCMD(CMD_RD_USB_DATA);         //CMD_RD_USB_DATA 發(fā)讀取USB緩沖去數(shù)據(jù)命令,并釋放緩沖區(qū)
  82.                 length=CH372_REDAT();
  83.                 for(i=0;i<length;i++)
  84.                 {
  85.                 buf[i]=CH372_REDAT();
  86.                 }
  87.                 CH372_WRCMD(CMD_WR_USB_DATA);                // CMD_WR_USB_DATA 發(fā)向端點(diǎn)2的發(fā)送緩沖區(qū)寫數(shù)據(jù)命令  發(fā)發(fā)送取USB緩沖去數(shù)據(jù)命令,并釋放緩沖區(qū)
  88.                 CH372_WRDAT(length);
  89.                 for(i=0;i<length;i++)
  90.                 CH372_WRDAT(~buf[i]);
  91.                 break;
  92.                 case USB_INT_EP2_IN:                                         //        USB_INT_EP2_IN         如果是0x0A,則是端點(diǎn)2的IN事務(wù)
  93.                 CH372_WRCMD(CMD_UNLOCK_USB);                          //CMD_UNLOCK_USB           發(fā)送釋放緩沖區(qū)命令
  94.                 break;
  95.                 default:
  96.                 CH372_WRCMD(CMD_UNLOCK_USB);                 //CMD_UNLOCK_USB
  97.                 break;
  98.                     }
  99.                 }
  100. #endif
復(fù)制代碼


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:127421 發(fā)表于 2017-7-27 15:21 | 只看該作者
有沒有上位機(jī)呀
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表