STM32CubeMX:中断系统与外部中断基础《学习笔记》

STM32的中断系统

中断向量实际上就是一个入口地址,入口地址对应的是一个中断源的中断请求,可以理解成,中断服务函数的指针,在这个指针里面放着一个中断服务函数,一旦对应的中断源被CPU响应之后,它就会自动到这个地址去运行,相关的中断服务函数来处理这个中断源,相应的一些逻辑

 

cb59b0860aac454bbdcc48386a648a94.png

STM32外部中断

f4f3293939654129a57d39d0ff39abb3.png

b55e48fce3f84ccd8910c3b75a4bf85b.png

外部中断的程序设计思路

6040c32c5b064ff38dd6fd64bb4c1fe0.png

 

60bf7e7e98874776975f243200f2ec67.png

中断初始化配置

8200c4c894b44057bc51082d8c98cbf8.png

中断服务函数的编写

ec7cfa4b6b114850a6b7ab3bdd972d6a.png

39f87541f31f4715b5d5311d0b424fd5.png

编写代码

创建工程:

d86887c0f60f4c28bff6ce31b18fdf6d.png

打开仿真接口

dd3c87520d38427fb5db1e5d51f61ba5.png

打开时钟

 

配置时钟

每一次都先配置这三步

 

设置LED引脚端口

670014eeeef84594bb15b2502444bf4b.png

 

 

设置KEY外部中断引脚

212babaa556f49179274487e631a2e39.png

 

然后设置NVIC

066758d3426e4c9b8e9d15bea5cf1049.png

KEY1上升沿触发

b51e93993f34454a9bab7757efed7ad7.png

KEY2下降沿触发

 

然后使能中断通道

2022dd3869d64a5fb1ea68892e096e53.png

 

然后生成代码

c35ba89e950f4cf2ab71216f4de63216.png

这个就是外部中断函数的文件

ca7d540385a046e19204292a7ba2e69f.png

在这个文件里面,外部中断初始化就放在了这个函数里面

1b3c0e33e7c74db3b36e2e9a9bb7e21c.png

跳转这个函数,这里就是外部中断的初始化

74行是设置优先级

75行是使能

下面那两个也是一样

 

然后需要重写中断服务函数的回调函数

 

这个是PC13的

跳转它

79751d7d1ba9477b812650db7282ea21.png

这个就是它的中断服务函数

42bf7dd358ed4082b2df1528ac6b1b0d.png

调用callbuck的回调函数,跳转一下

42a58ba1c38049a191492bc9999b0c04.png

把这个复制到main.c文件,找一个能写代码的地方写

7651e88b6d564ca4bc822b9aae9eabcd.png

这就是它的中断服务函数,这样它的第一个就结束了

 

95860d72408f4a638b13e70bf7d5307d.png

因为外部中断5-9都在同一个中断号里,所以它俩共用一个中断服务函数

这样就OK了。

 

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值