找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3577|回复: 11
打印 上一主题 下一主题
收起左侧

STM32 USB HID 控制led案列源码

  [复制链接]
跳转到指定楼层
楼主
ID:411530 发表于 2018-10-18 09:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个不错的usb hid 双向通信的例子 控制LED灯

单片机源程序如下:
  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. }
复制代码

所有资料51hei提供下载:
STM32 USB HID 控制led案列.rar (448.59 KB, 下载次数: 142)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:458387 发表于 2018-12-29 23:50 | 只看该作者
研究一下。
回复

使用道具 举报

板凳
ID:538325 发表于 2019-5-22 14:04 | 只看该作者
请问一下这个通讯是什么操作的?
回复

使用道具 举报

地板
ID:411530 发表于 2019-6-18 18:01 | 只看该作者
jiaxiangqi 发表于 2019-5-22 14:04
请问一下这个通讯是什么操作的?

可以先了解下usb通信方式先,在对照上面配置描述符等usb配置
回复

使用道具 举报

5#
ID:728310 发表于 2020-4-15 15:26 | 只看该作者
不错不错
回复

使用道具 举报

6#
ID:471251 发表于 2020-5-6 09:21 | 只看该作者
研究一下
回复

使用道具 举报

7#
ID:240600 发表于 2020-11-23 22:30 | 只看该作者
正好研究一下
回复

使用道具 举报

8#
ID:588348 发表于 2021-3-30 19:04 | 只看该作者
你好,这个USB的端口没有定义吗,我没有搜到关于USB初始化的引脚
回复

使用道具 举报

9#
ID:438263 发表于 2021-4-4 13:14 | 只看该作者
这个F103C8T6能用吗
回复

使用道具 举报

10#
ID:70531 发表于 2021-4-7 15:33 | 只看该作者
研究一下。   谢谢分享  非常感谢
回复

使用道具 举报

11#
ID:302293 发表于 2024-4-2 10:01 | 只看该作者
103的怎么会有HOST
回复

使用道具 举报

12#
ID:302293 发表于 2024-4-3 07:54 | 只看该作者
197988275 发表于 2021-4-4 13:14
这个F103C8T6能用吗

不能用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表