这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 【4】Nucleo入门之中断与定时器定时功能

共7条 1/1 1 跳转至

【4】Nucleo入门之中断与定时器定时功能

菜鸟
2016-01-08 11:23:26     打赏

4讲:Nucleo入门之中断与定时器定时功能 

1. 补充知识:

中断:中断是单片机最重要最基本的功能之一,是为应对突发事件而设计(事件分为外部和内部,外部比如按键,内部比如定时时间到了),几乎任何单片机不管多么便宜都有中断。

中断的准确定义:

->CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);
->CPU
暂时中断当前的工作,转去处理事件B(中断响应和中断服务);
->
CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断。

举个例子:

比如现在诸位正在听我讲什么是中断,突然快递打电话快递到了门口来取,你就会停下听我讲解先去取快递,接到快递员电话这就是一个“中断发生”的过程(准确点叫“中断请求”),这个中断就属于“外部中断”,你回答“好的”然后下楼去“取快递”这分别叫做“中断响应”“中断服务”,这个“取快递”的过程就叫“中断服务”,在单片机中就是一段你写好的“代码”,你取完快递再回来继续听我讲什么是中断,这个过程就叫“中断返回”,在单片机中,中断返回后是会回到中断发生时的地方执行原来未完成的代码,就相当于我会等你回来再接着往下继续讲。更复杂一点,在你去取快递的路上突然觉得需要去下洗手间,这个“觉得需要去洗手间”也是一个中断,而且你感觉必须立刻去,并决定先去洗手间再去取快递,那么这个“去洗手间”的中断就可以看做一个“内部中断”(由你体内信号产生),而且此时这个“去洗手间”的中断在你(你就是MCU)看来比“取快递”的中断优先级要高,等你从洗手间出来就会接着取“取快递”,这里就是一次中断返回了,“取快递”回来继续“听讲解”又是一次中断返回

2. 外部中断

外部中断常用的就是来自IO引脚的中断,这里以nucleo板子上的蓝色用户按键为例讲解。按键的原理就是高低电平的切换,比如“按键按下后IO引脚电平会变为低电平,松开变回高电平”(具体要看接法)。


打开定时器2内部时钟






上传图片太麻烦了,十几张图片,我就不传了,所有过程均有截图,截图按顺序标号,工程文件见附件Demo4:

第4讲Demo截图.rar

3. 内部中断

内部中断比较多,所有外设比如:USARTTIMERI2CADC等都有至少一个内部中断源。

现在以定时器简单定时为例,使用定时器溢出中断,在中断服务函数中翻转PA5的引脚电平。

详细过程见截图和工程文件:

4. 练习

1) 使用按键中断实现“每按下一次按键,串口会输出“Hello World! =x”x在每次按键被按下后会增加1.

2) 使用按键中断实现板载改变LED闪烁频率,按键按下一次,LED闪烁频率切换一次,频率从1HZ20HZ50HZ之间循环切换。

3) 使用按键中断和定时器PWM功能实现改变LED亮度,按键每按下一次,LED亮度改变一次。

Demo4.rar



菜鸟
2016-01-08 11:58:15     打赏
2楼

有个建议:能不能把发帖的这些流程整简单点呀?什么标签、关键词太麻烦了吧,最重要的是上传图片又要改大小又只能一张一张传,传完点确定插入,这么复杂,15张图片传……实在是没那耐心了……


助工
2016-01-08 13:24:57     打赏
3楼
表扬下楼主帖子,给个赞!

助工
2016-01-08 13:53:31     打赏
4楼

你可以一口气传你要插入的所有照片,然后最后点击从相册选择——默认分类,图片就全在这里啦~


这个宽度可以直接在方框改呦,不用回去改啦~

完美解答了你以上两个建议

确实很容易误解,我写个使用帖


院士
2016-01-08 16:25:56     打赏
5楼

18张图片~~打开也要好长时间的

话说楼主,其实文字也可以很好的说明的。


助工
2016-01-10 11:03:11     打赏
6楼
顶顶更健康

菜鸟
2016-02-05 10:45:34     打赏
7楼
请问楼主可以直接将定时器的pwm波通过PA.5输出吗?该怎么配置呢?我直接用cube配置GPIO发现调整pulse值没法改变LED亮度怎么回事?

共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]