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

重庆做网站价格网站建设免费书

重庆做网站价格,网站建设免费书,有什么好的网站,创意设计活动加计扣除文章目录 一、功能需求分析二、Proteus绘制电路原理图三、STMCubeMX 配置引脚及模式#xff0c;生成代码四、MDK打开生成项目#xff0c;编写HAL库的按键检测代码五、运行仿真程序#xff0c;调试代码 一、功能需求分析 在完成GPIO输入输出案例之后#xff0c;开始新的功能… 文章目录 一、功能需求分析二、Proteus绘制电路原理图三、STMCubeMX 配置引脚及模式生成代码四、MDK打开生成项目编写HAL库的按键检测代码五、运行仿真程序调试代码 一、功能需求分析 在完成GPIO输入输出案例之后开始新的功能模块的学习。同样是实现按键输入检测的功能在GPIO的案例中我们使用的是查询扫描方式这种方式有一个缺点浪费CPU算力功能代码是放在while循环中一直在循环检测。这一次我们介绍中断扫描方式完成按键状态检测只有在开关按键状态变换的时候才会触发中断通知CPU处理中断事件执行中断服务。 需求分析 按键检测使用中断扫描方式连线方式PA0-LED0PA1-LED1PA4-KEY0PA6-KEY1按键中断模式设置为上升沿触发KEY0控制LED0KEY1控制LED1每次开关状态变化使LED状态反转。 二、Proteus绘制电路原理图 Proteus绘制需要对基本元器件的名称有一定了解如下方的发光二极管LED、电阻RES可以在网上查找对应的元器件名称列表方便以后绘制。 绘制电路原理图的步骤创建画布》芯片选型及放置》元器件选型及放置》连接电路》修改元器件参数》仿真运行。 下图为所需元器件清单。 下图为电路原理图。 三、STMCubeMX 配置引脚及模式生成代码 接下来根据原理图绘制创建CubeMX项目配置引脚及工作模式生成MDK项目代码。 创建项目选择Pinout》system core》GPIO 点击PA0选择GPIO_Output推挽输出模式同理配置PA1。 点击PA4选择GPIO_EXTI4同理配置PA6。 选择Pinout》system core》NVIC 在配置中勾选EXTI4和【95】的中断Enabled选项并设置各自的抢占式优先级为3和2。 优先级值越小优先级越高抢占式优先级可以实现中断嵌套也就是说在中断执行中断服务时如果中断【】触发了中断会暂停中断执行中断【】。 在clock单元配置系统时钟为72MHz。 在Project单元填写项目名称、保存路径、IDE和版本。 在 code generator中配置添加库的方式为所需库用户代码在每次项目重新生成时保留。配置完成通过以上步骤完成了2个LED引脚的模式配置及时钟配置接下来点击GENERATE生成项目代码。 找到生成路径可以看到项目目录文件。 四、MDK打开生成项目编写HAL库的按键检测代码 从上面步骤中生成了MDK项目。 在MDK-ARM目录中找到项目快捷方式打开项目。 在gpio.c文件中找到__weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)函数复制到main.c中。 __weak 为弱函数如果项目中有不带__weak的同名函数被调用时则执行同名函数如果只有__weak函数被调用时则其被执行。 拷贝后放在注释为用户代码区域当中断触发则此函数被调用。 callback函数全部代码 这里出现了新的GPIO函数引脚状态切换有两个参数GPIO组名和引脚名。 还有一个消除中断挂起位的宏调用中断触发后需要用户手动清除挂起位。 /* USER CODE BEGIN 4 */ void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {//PA4中断服务if(GPIO_Pin GPIO_PIN_4)HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_0);//PA6中断服务if(GPIO_Pin GPIO_PIN_6)HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_1);__HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); }在项目中勾选生成HEX选项HEX文件就是MDK编译生成的十六进制文件作为烧录到开发板的源程序文件使用当然这里我们使用仿真在Proteus中加载HEX即可。 点击编译程序生成HEX文件。在编译窗口显示生成了以下信息则编译成功保证 0 errors再进行下一步。 五、运行仿真程序调试代码 在Proteus中双击芯片选择加载程序路径。 04_NVIC\MDK\NVIC\MDK-ARM 上面是我的项目的HEX文件目录路径。 点击仿真按钮运行程序查看功能执行结果。 可以看到两个黄色LED随着开光闭合断开改变切换点亮熄灭状态功能正常。 代码链接STM32-04基于HAL库CubeMXMDKProteus中断案例按键中断扫描 至此我们已经完成了STM32的开发环境搭建以及测试案例的编写后面会给大家介绍更多的功能。
http://www.hkea.cn/news/14307255/

相关文章:

  • 广州网站提升排名早那么做商城网站
  • 陕西网站建设的目的外贸大型门户网站制作
  • 兴宁市网站建设wordpress禁止某ip
  • 和狗狗做电影网站wordpress百度云加速插件
  • 和布克赛尔网站建设电子商务网站系统设计
  • 广州市番禺区住房和建设局网站锦州做网站的公司
  • 昆明企业网站设计外贸网站建设公司
  • 做网站设计的论文中摘要怎么写上海市建设协会网站
  • 个人做网站 用什么语言网站正能量晚上在线观看视频
  • 建行移动门户网站建设网站需要用到哪些软件
  • 奖励软件下载网站合肥公司注册
  • 天津制作个人建站麻将app软件开发
  • 户外旅游网站模板杭州seo价格
  • 优化自己的网站品牌广告策划方案
  • 冶金建设网站公众号开发商咨询电话
  • 番禺网站建设优化网站建设推广小王熊掌号
  • 怎样用自己的服务器建设网站怎样做网站
  • 民治做网站公司网站开发都用什么
  • 用服务器建立网站教程建设银行益阳市分行桃江支行网站
  • 餐饮门户网站源码个人网页设计师
  • 成都品牌设计网站天津营销网站建设公司
  • 怎样做国外能看到的网站设计师服务平台可以下载
  • 本地推广找哪些网站网站制作软件dw
  • 东阳网站建设网站全是乱码
  • 站酷官网首页wordpress阅读类主题
  • asp做网站搜索上海频道做网站怎么样
  • 网站建设中备案有域名没有服务器怎么做网站
  • 路由器 东莞网站建设网站qq访客 原理
  • 蓝色企业网站wordpress能做什么
  • 湖南网站建设工作室网站建设信息发布