单片机中断程序怎么读啊

单片机中断程序怎么读啊,第1张

读懂中断服务程序很容易的

首先你要搞懂这是什么中断,从中断服务程序第一行可以看出来

void INT_TIME(void) interrupt 1

这是中断名,可以随便取这是中断号,从0 开始往上排,1表示定时器0中断

分别是:0--外部中断0

1--定时器0中断

2--外部中断1

3--定时器1

4--串口中断

其次就是中断服务器程序的具体内容了,这个就千差万别,与你的用途有关了。

这里是定时器0中断,溢出值是46080,看来用的是11.0592M晶振,50毫秒定时中断,完成的功能是:100毫秒LED1灯闪烁一次,600毫秒LED2闪烁一次,100毫秒P1口流水灯效果移动一次。

当MCU接收到GPS发来的一个

字节

时触发中断,进入中断程序,(在进入中断程序时串口照样接收,中断程序是往串口

缓存

区读的数据,并且读数据时相当快的,永远不用担心还在读的时候数据被新来的给覆盖了)将该接收的字节提取出放在一个

缓冲区

内,缓冲区是你自己

定义

的一个

数组

字符串

,谁你喜好,如你所述GPS是每隔1秒发送一次数据的,此时你可以在

主程序

中设计当0.5秒没有接收到GPS所发的数据时,就将缓冲区内的数据读出处理,并清空缓冲区,这样其实中断程序只管

接收数据

主函数

只管处理数据,两不相冲。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12114275.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存