打印
[牛人杂谈]

M0学习之外部中断与定时器中断

[复制链接]
778|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
玛尼玛尼哄|  楼主 | 2016-8-23 15:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
转载

进入南航的学习已经两周了,从开始接触新唐的cortex—M0到现在,对它的整体架构有了一定的认识,但是还是不足,以此记下自己的一点心得很成果,与大家一起分享!

这次的项目是红外模块,即实现捕捉红外信号,解码,发射红外信号,让开发板学习红外信号!天下大事,必作于细,学习不是一朝一夕能够解决的事情,所以第一周的任务就是熟悉新唐Cortex—M051这个开发板,我手上的是最小系统,只有一个M0的内核和引脚,其它什么都没有。

对一开始学习嵌入式的时候,对一些概念觉得很奇怪,比如设置晶振,下降沿触发,其实嵌入式就是一个微小型的计算机,而晶振就和我们的CPU一样,要发出信号让器件进行工作,通俗一点,晶振就像一个动力源,没有动力,机器怎么工作呢?而晶振发出的就是一个时段高电平,一个时段低电平,我们常说CPU是3.0GHZ的,它的意思就是CPU在1秒内发出一个时段高电平,一个时段低电平,这个组合持续3G(即三乘以十的9次方)下,但是嵌入式里面的CPU达不到这个速度,我本次用的晶振是12MHZ的(十二乘以十的六次方),你可以想象一下,速度是怎么样的!


沙发
玛尼玛尼哄|  楼主 | 2016-8-23 15:25 | 只看该作者
言归正传,外部中断根据例子程序很好改,定时器中断根据例程也可以实现,我用外部中断是为了捕获红外信号,如果用查询的话效率太低,大家懂的,而定时器的作用就是实现延迟,如果用软件延迟(即套上3,4个for循环),效率低而且准确度不高。但是我把外部中断和定时器中断和到一起就出问题了,在外部中断的服务程序里面,并不执行定时器中断...这个开发板是可以中断嵌套的,而我疏忽的地方在哪里呢?

是两个中断的优先级,在寄存器里面,默认所有中断的优先级都是0(即最高优先级),如果要实现中断嵌套,必须为要嵌套的中断制定优先级!

用了一周时间,总算把解码算法搞出来,并且调试对了,并且认识了我们实验室的师兄师姐们,他们人都很好,很容易相处!

使用特权

评论回复
板凳
huangcunxiake| | 2016-8-24 00:18 | 只看该作者
而晶振发出的就是一个时段高电平,一个时段低电平

使用特权

评论回复
地板
wahahaheihei| | 2016-8-24 00:55 | 只看该作者
晶振就像一个动力源,没有动力,机器怎么工作

使用特权

评论回复
5
643757107| | 2016-8-24 16:21 | 只看该作者
晶振发出的就是一个时段高电平,一个时段低电平

使用特权

评论回复
6
dongnanxibei| | 2016-8-24 18:15 | 只看该作者
CPU是3.0GHZ的,它的意思就是CPU在1秒内发出一个时段高电平,一个时段低电平,这个组合持续3G

使用特权

评论回复
7
zhuomuniao110| | 2016-8-24 19:49 | 只看该作者
设置晶振,下降沿触发,其实嵌入式就是一个微小型的计算机

使用特权

评论回复
8
zhuomuniao110| | 2016-8-26 23:20 | 只看该作者
定时器中断实现了定时处理事情

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

174

主题

3057

帖子

2

粉丝