你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【NUCLEO-H7A3ZI-Q体验】不懂理论会用系列--点灯之“控”篇

[复制链接]
zhdjet 发布时间:2022-6-17 22:33
经过前两篇对灯的学习,又经过这几天对LL库的了解,此篇着手使用外部中断进行对灯的"控"制
此处延续 【NUCLEO-H7A3ZI-Q体验】不懂理论会用系列--点灯之“亮”篇   的CubeMX工程.


按键原理图.png

从板卡原理图可知用户按键B1接芯片引脚PC13,控制原理为下拉控制电路;即B1按下时PC13为高电平输入,按下的瞬间成上升沿;B1释放开,PC13接地为低电平输入,释放的瞬间成下降沿(时序见上图)。

运行CubeMX,打开LD1工程,因此工程已经设置好了LED1(板卡丝印:LD1)参数,故现只对PC13所接用户按键B1进行设置;

b1.png

1、设置PC13为GPIO_EXTI13外部中断功能
2、点击左侧“GPIO”,对PC13进行引脚模式设置
3、触发模式设置为上升沿触发,名称设置为:KEY_EXTI

接下为使能外部中断线;

中断线.png

点击”NVIC“标签,勾选”EXTI line[15:10]interrupts“,使能PC13对应的外部中断线;

因为LED1的参数打开前已经设置完成,故以上设置OK后,即可另存工程为”EXTI“,方便日后修改工程用。

EXIT.png
2022-06-21_051407.png

保存OK后,点击“GENERATE CODE"生成工程代码;代码生成后会出现对工程的处理方式窗口;点击”Open Project“;


2022-06-17_171039.png

自动在MDK打开工程代码后,双击打开”stm32h7xx_it_.c“文件,添加LD1反转控制代码;

反转.png

因此工程为外部中断控制,只要修改对应的中断线代码即可,故main.c中不需要添加任何代码;

上升沿触发.png

上图中为CubeMX自动生成的PC13的GPIO控制模式代码,上升沿触发代码;

以上处理完成后,点击MDK工具栏上的”魔法棒“图标,进行板载ST-link的下载设置;

STLINK0.png
STLINK1.png
STLINK.png

设置完成后,即可编译下载到板卡中运行;效果如下:

1655473057533.gif

为了对比上升沿和下降沿控制方式的区别,把触发方式改为:下降沿控制;

mx下降沿.png

在MDK中重新载入工程代码后,编译下载效果如下:

1655472990598.gif


工程代码附件:

RISING_EXTI.rar (3.58 MB, 下载次数: 9)
收藏 评论0 发布时间:2022-6-17 22:33

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版