当前位置: 首页 > news >正文

网站开发项目实训报告山东公司注册网上核名

网站开发项目实训报告,山东公司注册网上核名,哪有专做飞织鞋面的网站,重庆网站建设多少钱STM32F103 CubeMX 使用USB生成鼠标设备 1 配置cubeMX1.1配置外部晶振,配置debug口1.2 配置USB1.3 配置芯片的时钟1.4 生成工程 2. 编写代码2.1 添加申明2.2 main函数代码 1 配置cubeMX 1.1配置外部晶振,配置debug口 1.2 配置USB 1.3 配置芯片的时钟 需…

STM32F103 CubeMX 使用USB生成鼠标设备

  • 1 配置cubeMX
    • 1.1配置外部晶振,配置debug口
    • 1.2 配置USB
    • 1.3 配置芯片的时钟
    • 1.4 生成工程
  • 2. 编写代码
    • 2.1 添加申明
    • 2.2 main函数代码

1 配置cubeMX

1.1配置外部晶振,配置debug口

在这里插入图片描述

1.2 配置USB

在这里插入图片描述
在这里插入图片描述

1.3 配置芯片的时钟

需要注意,在使用USB设备的时候,一定要使用外部的高速时钟,

在这里插入图片描述

1.4 生成工程

在这里插入图片描述

2. 编写代码

2.1 添加申明

添加两个申明,这样可以将代码中使用到的函数,引入到main这个文件中来,

/* USER CODE BEGIN Includes */
# include "usbd_hid.h"extern USBD_HandleTypeDef hUsbDeviceFS;/* USER CODE END Includes */

2.2 main函数代码

添加了完整的main函数的代码,

申明的函数 HID_Buffer 这是来表示鼠标发送的数据。
这里需要说明一下,鼠标发的数据是4个 8位的数据

第一个字节表示按键,bit0对应左键、bit1对应右键、bit3对应中键;0表示未按,1表示按下;
第二个字节表示x轴(即鼠标左右移动,0表示不动,正值表示往右移,负值表示往左移,范围-127~127,绝对值对应了移动量大小);
第三个字节表示y轴(即鼠标上下移动,0表示不动,正值表示往下移,负值表示往上移,范围-127~127,绝对值对应了移动量大小);
第四个字节表示鼠标滚轮(正值为往上滚动,负值为往下滚动,-127~127,绝对值对应了移动量大小)。

代码中的:HID_Buffer 也就对应了4个字节。

下面的计算公式就是对应的鼠标的移动,如果你需要调整移动的方向,则将 ( (ADC0_Value - 2048)) 这个调换位置就可以了,256的参数就是一个经验值,这个值越大,鼠标移动速度越快。反之亦然。

  HID_Buffer[1] = (ADC0_Value - 2048)/256;HID_Buffer[2] = (2048 - ADC1_Value)/256;;
/*** @brief  The application entry point.* @retval int*/
int main(void)
{/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_ADC1_Init();MX_ADC2_Init();MX_USB_DEVICE_Init();/* USER CODE BEGIN 2 */uint8_t HID_Buffer[4] = {0};uint16_t ADC0_Value = 0;uint16_t ADC1_Value = 0;/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){HAL_ADC_Start(&hadc1);HAL_ADC_PollForConversion(&hadc1,HAL_MAX_DELAY);ADC0_Value = (uint16_t)HAL_ADC_GetValue(&hadc1);HAL_ADC_Start(&hadc2);HAL_ADC_PollForConversion(&hadc2,HAL_MAX_DELAY);ADC1_Value = (uint16_t)HAL_ADC_GetValue(&hadc2);HAL_Delay(50);HID_Buffer[1] = (ADC0_Value - 2048)/256;HID_Buffer[2] = (2048 - ADC1_Value)/256;;USBD_HID_SendReport(&hUsbDeviceFS,HID_Buffer,4);/* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */
}

这个鼠标是默认生成就是鼠标的设备,调试起来还是比较方便。

http://www.yayakq.cn/news/457476/

相关文章:

  • flash网站模板源码南京网站建设费用
  • 如何制作一个注册网站项目经理证怎么考取
  • 网站建设唯地带网站更改备案信息
  • 厦门外贸网站wordpress远程上传媒体文件夹
  • 打开网站弹出一张图片 怎么做公司做网站要三千多吗
  • 千博企业网站管理系统 后台拿shell做农产品的网站名称
  • 教育网站建设公司莱芜网站制作哪家好
  • 为什么建设营销型网站佛山 网站建设培训班
  • 想做一个驾校的招生网站应该怎么做WordPress下载统计
  • 安庆商务网站建设内江市网站建设培训
  • 专业购物网站建设哪家好成都网页设计培训哪家好
  • 哪些网站可以做百科参考资料中山网站免费制作
  • 深圳 网站建设培训班wordpress 企业沟通插件
  • 免费企业网站建设哪家纪念币商城网站建设
  • 国外门户网站设计桂林两江四湖是哪两江哪四湖
  • 网站建设中哪些最重要性装修包工头接活网站
  • 百度收录网站入口西安网站seo公司
  • 网站是用什么做的吗如何注册网站怎么注册
  • 北京网站建设招标大型网站开发方案
  • 用别人的电影网站做公众号WordPress随机句子
  • 衡粘水佩网站建设jsp网站开发登陆
  • 为什么在百度搜不到我的网站网站建设制作临沂网站建设选盛誉
  • dedecms 网站迁移win2012安装wordpress
  • 做销售在哪些网站发贴wordpress 插件 样式
  • 网站改版建设linux安装wordpress
  • 网站访客qq抓取原理wordpress多店铺
  • 泰州网站制作企业wordpress搭建小程序
  • 东坑镇网站建设公司网线水晶头接法顺序
  • 苏州口碑好的保洁公司长春seo服务
  • 农特产品电商网站建设目标公司网站费用构成需要多少钱