需求:使用PD10作为外部中断(下降沿触发)控制LED(PD12-PD14)
STM32-F4-Discovery使用的是F407VGT6.
PD12-PD15对应4个LED,设置为输出
使用PD10作为外部中断,于是PD10设置为GPIO_EXIT10
外部8MHz晶振,系统频率设置168(最大只能设置168,这个可随便设置)
由于只有这一个中断,所有优先级都设置为0
需求:外部中断触发,改变四个LED的状态。
再说一遍中断执行顺序
(1)PD10的中断服务函数
(2)中断服务函数原型
(3)中断处理函数
(4)回调函数(用户在main.c中重写)
while(1)就不要动了,目前用不到。
编译,下载,齐活。
最后再补充一点,中断初始化的问题,在mian.c的main()函数中只有下面几个初始化函数:
那么中断的初始化去哪了呢?
其实,中断初始化的代码被放置到GPIO初始化函数MX_GPIO_Init(void)里了:
分
Copyright © 2023 leiyu.cn. All Rights Reserved. 磊宇云计算 版权所有 许可证编号:B1-20233142/B2-20230630 山东磊宇云计算有限公司 鲁ICP备2020045424号
磊宇云计算致力于以最 “绿色节能” 的方式,让每一位上云的客户成为全球绿色节能和降低碳排放的贡献者