找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5072|回復(fù): 11
收起左側(cè)

STM32 USB HID 控制led案列源碼

  [復(fù)制鏈接]
ID:411530 發(fā)表于 2018-10-18 09:54 | 顯示全部樓層 |閱讀模式
一個(gè)不錯(cuò)的usb hid 雙向通信的例子 控制LED燈

單片機(jī)源程序如下:
  1. #include "stm32f10x.h"
  2. #include "sys.h"
  3. #include "led.h"
  4. #include "usart.h"       
  5. #include "delay.h"
  6. #include "usb_lib.h"
  7. #include "hw_config.h"
  8. #include "usb_pwr.h"

  9. int main(void)
  10. {
  11.        
  12.                 int stat=0;
  13.     u8 buff[64];
  14.     SysInit();
  15.     USB_Interrupts_Config();   
  16.         Set_USBClock();   
  17.         USB_Init();       
  18.          LED_Init();
  19.     printf("USB Init\r\n");
  20. //    SetEPRxValid(ENDP1);
  21. //    SetEPTxValid(ENDP1);
  22.     while(1)
  23.     {
  24.                        
  25.                            USB_SIL_Read(EP1_OUT, buff);
  26.                           SetEPRxValid(ENDP1);
  27.                        
  28.                           delay_ms(10000);
  29.                                 if(buff[0]==0xA0)
  30.                                 {
  31.                                                 if(buff[3]==0x0A)
  32.                                                 {
  33.                                                                 if(buff[2]==0x01)
  34.                                                                 {                                       
  35.                                                 stat=2;
  36.                                                                 }
  37.                                        
  38.                                                 }
  39.                                        
  40.                                 }
  41.                                
  42.                                         if(buff[0]==0xA0)
  43.                                 {
  44.                                                 if(buff[3]==0x0A)
  45.                                                 {
  46.                                                                 if(buff[2]==0x00)
  47.                                                                 {                                       
  48.                                                 stat=1;
  49.                                                                 }
  50.                                        
  51.                                                 }
  52.                                        
  53.                                 }
  54.                                
  55.                         if(stat==1)
  56.                         {
  57.                                 LED0=0;
  58.                                 delay_ms(1000);
  59.                                 LED0=1;
  60.                                 delay_ms(1000);
  61.                         }
  62.                        
  63.                         if(stat==2)
  64.                         {                       
  65.                                 LED1=0;
  66.                                 delay_ms(1000);
  67.                                 LED1=1;
  68.                                 delay_ms(1000);
  69.                         }
  70.                        
  71.                                 if(stat==0)
  72.                         {               
  73.                                 LED1=0;
  74.                                 LED0=0;
  75.                                 delay_ms(500);
  76.                                 LED1=1;
  77.                                 LED0=1;
  78.                                 delay_ms(500);
  79.                         }
  80.                                
  81.         USB_SIL_Write(EP1_IN, buff, 64);
  82.         /* Enable endpoint for transmission */
  83.         SetEPTxValid(ENDP1);
  84.         delay_ms(1000);
  85.     }
  86.    
  87. }
復(fù)制代碼

所有資料51hei提供下載:
STM32 USB HID 控制led案列.rar (448.59 KB, 下載次數(shù): 147)


回復(fù)

使用道具 舉報(bào)

ID:458387 發(fā)表于 2018-12-29 23:50 | 顯示全部樓層
研究一下。
回復(fù)

使用道具 舉報(bào)

ID:538325 發(fā)表于 2019-5-22 14:04 | 顯示全部樓層
請問一下這個(gè)通訊是什么操作的?
回復(fù)

使用道具 舉報(bào)

ID:411530 發(fā)表于 2019-6-18 18:01 | 顯示全部樓層
jiaxiangqi 發(fā)表于 2019-5-22 14:04
請問一下這個(gè)通訊是什么操作的?

可以先了解下usb通信方式先,在對照上面配置描述符等usb配置
回復(fù)

使用道具 舉報(bào)

ID:728310 發(fā)表于 2020-4-15 15:26 | 顯示全部樓層
不錯(cuò)不錯(cuò)
回復(fù)

使用道具 舉報(bào)

ID:471251 發(fā)表于 2020-5-6 09:21 | 顯示全部樓層
研究一下
回復(fù)

使用道具 舉報(bào)

ID:240600 發(fā)表于 2020-11-23 22:30 | 顯示全部樓層
正好研究一下
回復(fù)

使用道具 舉報(bào)

ID:588348 發(fā)表于 2021-3-30 19:04 | 顯示全部樓層
你好,這個(gè)USB的端口沒有定義嗎,我沒有搜到關(guān)于USB初始化的引腳
回復(fù)

使用道具 舉報(bào)

ID:438263 發(fā)表于 2021-4-4 13:14 | 顯示全部樓層
這個(gè)F103C8T6能用嗎
回復(fù)

使用道具 舉報(bào)

ID:70531 發(fā)表于 2021-4-7 15:33 | 顯示全部樓層
研究一下。   謝謝分享  非常感謝
回復(fù)

使用道具 舉報(bào)

ID:302293 發(fā)表于 2024-4-2 10:01 | 顯示全部樓層
103的怎么會有HOST
回復(fù)

使用道具 舉報(bào)

ID:302293 發(fā)表于 2024-4-3 07:54 | 顯示全部樓層
197988275 發(fā)表于 2021-4-4 13:14
這個(gè)F103C8T6能用嗎

不能用
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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