硬件开发板: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();给注释掉
时间: 2024-10-12 23:54:45