码迷,mamicode.com
首页 > 其他好文 > 详细

利用STM32CubeMX来生成USB_HID_Mouse工程

时间:2017-05-11 16:55:39      阅读:2271      评论:0      收藏:0      [点我收藏+]

标签:struct   includes   des   开发板   cat   9.png   eof   comm   模块   

 

 

硬件开发板:STM32F103C8

技术分享

软件平台

技术分享

技术分享

 

好了现在开始利用STM32CubeMX来生成我们的工程

1、新建工程

技术分享

选择MCU的型号

技术分享

选择选择时钟

技术分享

开启usb的模块

技术分享

 

 选择USB的类

技术分享

 

 配置时钟树(主要是设置usb的48Mhz)

技术分享

设置工程路径和编译环境

技术分享

打开工程

技术分享

我们现在在main.c进行修改

/* USER CODE BEGIN Includes */
#include "usbd_hid.h"
/* USER CODE END Includes */
  /* USER CODE BEGIN 1 */
  
  // HID Mouse
  struct mouseHID_t {
      uint8_t buttons;
      int8_t x;
      int8_t y;
      int8_t wheel;
  };
  struct mouseHID_t mouseHID;
  
  mouseHID.buttons = 0;
  mouseHID.x = 10;
  mouseHID.y = 0;
  mouseHID.wheel = 0;
  
  /* USER CODE END 1 */
  /* USER CODE BEGIN 3 */
 
  // Send HID report
    mouseHID.x = 10;
    USBD_HID_SendReport(&hUsbDeviceFS, (uint8_t*)&mouseHID, sizeof(struct mouseHID_t));
    HAL_Delay(1000);
  }
  /* USER CODE END 3 */

 编译下载后复位

在电脑设备管理中可以看到一个新的USB输入设备(到这部时候可以看到我们的STM32的USB枚举成功)

技术分享

可以看到我们鼠标光标移动

 

如果出现

***JLink Error: Bad JTAG communication: Write to IR: Expected 0x1, got 0xF (TAP Command : 10) @ Off 0x5.

将在HAL_MspInit()代码中 __HAL_AFIO_REMAP_SWJ_DISABLE();给注释掉

 

利用STM32CubeMX来生成USB_HID_Mouse工程

标签:struct   includes   des   开发板   cat   9.png   eof   comm   模块   

原文地址:http://www.cnblogs.com/libra13179/p/6841436.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!