網站導航:首頁開源項目 USB開源項目:Easy USB 51 Programer  

目錄導航

   
  1、項目簡介
USB開發基礎
1、USB接口的優點及開發難易度
2、USB設備的開發流程
3、USB接口芯片(USB控制器)的選擇
4、了解USB的通訊過程
5、USB命令(請求)和USB描述符
6、實例講解USB的枚舉(配置)過程
准備工作
1、需要哪些工具
2、電路原理圖
3、手工制作您的電路板
4、測試您的硬件
HID設備類
1、讓PC機找到我們的硬件
2、如何成爲一個HID設備(模擬鼠標)
3、如何成爲一個HID設備(模擬鍵盤)
4、如何與HID設備通訊(一)
5、如何與HID設備通訊(二)
6、51編程器的實現
Windows USB 驱动程序(自定义设备)
1、Windows驅動開發基礎
2、開發環境配置
3、第一个实例-Hello Wdm(一)
4、第一个实例-Hello Wdm(二)
5、真正的實例—驅動我們的實驗板
6、真正的實例—測試驅動程序
7、真正的實例—控制LED及讀取按鍵狀態
8、如何編寫應用程序
   

相关産品    淘寶網店
     
 

 
  更多...  
 
 
真正的實例—測試驅動程序 查看/参与此開源項目相关讨论
 

  在上一節中,我们利用向导生成了一个驱动程序,那么这个驱动程序正常工作了吗现在我们就来测试一下,先不用向导生成的测试程序,我们先用BUS Hound来测试。

1、打开UBS Hound,切换到“Settings”页,设置Max Phase的值为64,这样只要读/写数据在64字节以内都能完整显示

2、切换到“Devices”页,选择“Easy USB 51 Programer”

3、双击“Easy USB 51 Programer”,弹出Bus Commander对话框,选择端点2输出那一项,Data Length设为64,Data随便填,然后点Run按钮

5、当按Run按钮时我们发现实验板的LED灯会闪烁,证明有数据传输,再切换到Bus Hound的Capture页,发现发向设备的数据被成功抓到,证明驱动程序是正常工作的

6、再修改一下下位機程序,讓實驗更生動一點,下面我們來實現這樣一個功能:設備的端點2如果接收到數據馬上將接收到的數據通過端點2發送到主機,擴展板上的LED的狀態由接收到的第一個字節決定,如果第一個字節爲0x00,LED全滅,如果第一個字節爲0xFF,LED全亮。

  1)修改下位機程序,修改main函數,內容如下:

 
  1. main()   
  2. {      
  3.     if (Init_D12()!=0)                  //初始化D12   
  4.         return;                         //如果初始化不成功,返回   
  5.   
  6.     EX0 = 1;                            //開外部中斷0   
  7.     PX0 = 0;                            //設置外部中斷0中斷優先級   
  8.     EA = 1;                             //開80C51總中斷   
  9.   
  10.     while(1)   
  11.     {   
  12.         usbserve();                     //處理USB事件   
  13.         if(bEPPflags.bits.configuration)   
  14.         {   
  15.                
  16.             //在這裏添加端點操作代碼   
  17.             if(bEPPflags.bits.ep2_rxdone)   //端點2收到數據   
  18.             {   
  19.                 bEPPflags.bits.ep2_rxdone       = 0;                                   
  20.                        
  21.                     P0  = EpBuf[0];                //由接收到的第一個數據控制LED擴展板EXT-BOARD-A上LED的狀態   
  22.                        
  23.                     D12_WriteEndpoint(5,64,EpBuf);   
  24.             }          
  25.                
  26.         }   
  27.     }   
  28. }   

  2)編譯,燒錄程序

  下載源代碼

  同样利用Bus Hound向设备发送数据,我们就可以看到效果。

7、到目前爲止我們都是用第三方工具來進行測試的,現在我們用DriverStudio向導生成的測試程序進行測試。

  1)編譯測試程序的方法:

  • 在VC6中选择菜单“Project”->“Set Active Project”->“TestApp”
  • 选择菜单“DriverStudio”->“Build with BUILD.EXE”
     

  2)運行測試程序:測試程序位于Easy_USB_51_Programer\exe\objchk\i386目錄下,將其拷貝到C盤根目錄(爲了方便運行測試程序),在命令行模式下鍵入以內容:

我們將看到以下內容

  查看測試程序得知發送的內容位于doWrite函數中,修改這個函數可以更改發送內容(記得重新編譯測試程序後要重新拷貝一次)。

  打開驅動程序的Read和Write函數一看,原來DriverWorks已經爲我們完成了代碼,是不是很簡單

 
 
 
本站程序由百合電子工作室開發和維護
Copyright @ baihe electric studio
渝ICP備09006681號-4