为了混口饭吃,现在是化工厂的一名电工,想转行嵌入式。今后开始分享自己的学习过程,与君共勉。
STM32支持19个外部中断和事件请求,其中线0~15映射对应IO口的输入中断。每个线同时最多只能映射一个IO口。
而中断服务函数只有7个。线5-9共用一个,10到15共用一个。
下面是配置步骤。
开始自己编写一个程序,通过两个按键的按下来触发中断,一个按键接地,端口设置为上拉状态,触发模式为下降沿触发;另一个按键接VCC,端口设置为下拉状态,触发模式为上升沿触发。然后在中断服务函数中编写触发中断后要执行的函数。一个为切换LED的亮灭状态,另一个控制蜂鸣器的通断。
在调试过程中,出现了按键按下但会偶尔失灵,既不触发中断的现象,经过半个小时的找原因,发现因为粗心,将接地按键的触发模式设置为下降沿,而将接VCC按键的触发模式设置为上升沿,导致功能不正常,改正后测试正常。
知乎视频www.zhihu.com