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

网站如何解除绑定域名手机网站自助建站系统

网站如何解除绑定域名,手机网站自助建站系统,网站免费的正能量漫画,怎么和客户推广说网站建设语文章目录 一、功能需求分析二、Proteus绘制电路原理图三、STMCubeMX 配置引脚及模式,生成代码四、MDK打开生成项目,编写HAL库的按键检测代码五、运行仿真程序,调试代码 一、功能需求分析 在完成GPIO输入输出案例之后,开始新的功能…

文章目录

  • 一、功能需求分析
  • 二、Proteus绘制电路原理图
  • 三、STMCubeMX 配置引脚及模式,生成代码
  • 四、MDK打开生成项目,编写HAL库的按键检测代码
  • 五、运行仿真程序,调试代码

一、功能需求分析

在完成GPIO输入输出案例之后,开始新的功能模块的学习。同样是实现按键输入检测的功能,在GPIO的案例中,我们使用的是查询扫描方式,这种方式有一个缺点,浪费CPU算力,功能代码是放在while循环中,一直在循环检测。这一次我们介绍中断扫描方式完成按键状态检测,只有在开关按键状态变换的时候,才会触发中断,通知CPU处理中断事件,执行中断服务。

需求分析

  1. 按键检测使用中断扫描方式;
  2. 连线方式:PA0-LED0;PA1-LED1;PA4-KEY0;PA6-KEY1;
  3. 按键中断模式设置为上升沿触发;
  4. KEY0控制LED0,KEY1控制LED1;
  5. 每次开关状态变化,使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和【9:5】的中断Enabled选项,并设置各自的抢占式优先级为3和2。
优先级值越小,优先级越高,抢占式优先级可以实现中断嵌套,也就是说,在中断4执行中断服务时,如果中断【9:5】触发了中断,会暂停中断4,执行中断【9:5】。
在这里插入图片描述

在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库(CubeMX+MDK+Proteus)中断案例(按键中断扫描)

至此,我们已经完成了STM32的开发环境搭建以及测试案例的编写,后面,会给大家介绍更多的功能。

http://www.hkea.cn/news/623492/

相关文章:

  • c做的网站淄博做网站的公司
  • 网站开发制作公司郑州网站建设外包
  • 注册域名用个人还是公司好长沙seo优化排名
  • 电子商务网站建设与维护展望今日新闻联播
  • 网站建设主流技术站长之家ping检测
  • 温州建设集团有限公司网站首页百度手机版网页
  • 广西网络干部学院官网seo推广人员
  • 可以做红娘的相亲网站江北seo综合优化外包
  • 公司建设网站需要注意什么软文广告示范
  • 高端网站建设 引擎技企业网页
  • 模仿别人网站百度外链查询工具
  • 教程建设网站广告免费发布信息平台
  • wordpress php5.4支持宁波seo排名优化
  • 宁波制作网站哪个好百度怎么发自己的小广告
  • 新浪网站用什么语言做的百度软件下载
  • wordpress如何做网站重庆seo俱乐部联系方式
  • 教育局两学一做网站深圳全网推广平台
  • 淘宝做详情页代码网站免费大数据查询平台
  • 苹果做安卓游戏下载网站好新媒体营销案例ppt
  • 网络营销实务关键词优化seo优化排名
  • 网站推广优化教程游戏代理加盟平台
  • 网站提升权重全国疫情高峰感染进度
  • 营销型网站怎么做智能建站abc
  • 捷信做单官方网站网络服务主要包括什么
  • 网站建设的方案费用什么时候网络推广
  • 这么做3d展示网站公司百度官网优化
  • 工业设计软件上市公司搜索引擎优化的方法
  • 网站建设公司创意网站网络推广推广
  • 浙江三建建设集团有限公司网站关键词的作用
  • 网站建设官方网站教育培训机构加盟十大排名