找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2687|回复: 9
收起左侧

初学者关于单片机中断优先级的疑问

[复制链接]
ID:468248 发表于 2019-6-14 23:11 | 显示全部楼层 |阅读模式
50黑币
用单片机T0定时1ms中断,同时用串口1通信

假设串口1正在接收连续很多个数据帧,这时刚好T0的中断产生,T0中断的优先级高于UART1中断,

那么剩下还没接收完的数据帧可以被接收吗?  还是直接忽略掉?

另外,哪本教材适合初学者,而且讲得清楚透彻的,麻烦推荐一本。

最佳答案

查看完整内容

1、T0中断后,进入中断服务程序,如果你的服务程序很占时间,则会造成串口数制丢失。 高手在写程序时间会考虑到这一点,设法防止这个问题出现。 2、你的T0中断只有1ms,如果你的中断服务程序超过1ms,则你的T0中断也会计时也会失准。 3、如果你的中断服务程序不足1ms,则一般不会影响到串行数所的下载,因为串行一个字节(以9600来计),不小于1ms(起始+数据+停止,不少于11个脉冲),但串行速度太快就无法保证了。 我写程序 ...
回复

使用道具 举报

ID:123289 发表于 2019-6-14 23:11 | 显示全部楼层
1、T0中断后,进入中断服务程序,如果你的服务程序很占时间,则会造成串口数制丢失。
高手在写程序时间会考虑到这一点,设法防止这个问题出现。
2、你的T0中断只有1ms,如果你的中断服务程序超过1ms,则你的T0中断也会计时也会失准。
3、如果你的中断服务程序不足1ms,则一般不会影响到串行数所的下载,因为串行一个字节(以9600来计),不小于1ms(起始+数据+停止,不少于11个脉冲),但串行速度太快就无法保证了。
我写程序时,所有的中断服务程序都很短,只做标记,而不处理事件。事件只依据标记在主程序中处理,目的就是防止高级中断影响低级中断的运行。
中断的处理是需要仔细规划的。
回复

使用道具 举报

ID:207421 发表于 2019-6-15 00:21 | 显示全部楼层
1.如果T0与串口有所关联, 那么接收串口数据时,可以先吧T0关闭, 接收完成再把T0打开. 也可以设置优先级.
2.教材很多种,这个透彻与不透彻没多大关系,每个人的理解能力都不一样,有的一看就懂,有的看很多次都不懂.
重要的是打好基础, 想一步登天总是不好的, 有了一定的基础后, 自然能看懂很多的东西.
回复

使用道具 举报

ID:93224 发表于 2019-6-15 13:49 | 显示全部楼层
这个时候会先处理TO的终端,处理完成后再返回来处理串口1的中断,当然你可以设置串口中断的优先级别最高
回复

使用道具 举报

ID:563031 发表于 2019-6-15 14:12 | 显示全部楼层
1.会先进行中断的程序,完成后再继续接收。
2.本人推荐一本教材:适合初学者入门的,因为里面的内容是结合实例一起来的,而且都是很简单的例题。
《单片机的C语言程序设计与应用——基于Proteus仿真(第3版)》
回复

使用道具 举报

ID:552614 发表于 2019-6-15 14:47 | 显示全部楼层
没有哪本教材是很透彻的。就算在透彻也有可能遇到新的问题,关键还是还是多打打代码积累经验。然后买开发板时通常里面会有很多程序,可以先看看别人怎么写程序的,为什么要那么写,可以自己学着模仿。然后把程序烧入开发板中观察实验现象,我就是这么学的。
回复

使用道具 举报

ID:311316 发表于 2019-6-15 15:55 | 显示全部楼层
是51单片机吗?
    如果是51单片机,你可以使用tmod设置两个定时器,然后使用tr0、tr1分别启动两个定时器。pt0置为“1”,就可以中断定时器1的服务函数,相反,如果pt1置为“1”就可以中断定时器0的服务函数。

    如果不设置pt的值,默认为“0”,这样的话,t0和t1谁也不能中断谁
回复

使用道具 举报

ID:466105 发表于 2019-6-15 16:29 | 显示全部楼层
郭天祥的那本书挺好的
回复

使用道具 举报

ID:542954 发表于 2019-8-11 20:44 | 显示全部楼层
不可以继续接受,你需要详细了解单片机时序。
中断冲突是非常常见的问题,你需要详细学习
回复

使用道具 举报

ID:599517 发表于 2019-8-12 23:23 来自手机 | 显示全部楼层
中断跟数据传输是两回事,你要考虑的仅仅是处理数据的速度是否能跟得上传输数据的速度,如果传输过快就会不行,处理越快越好的!一般在一比十是有冗余的!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表