请教一下51串口通信问题

2019-07-15 09:09发布

本人小白,今天看书的时候给了一个例程,如图

我看到了设定定时器但是没有定时器中断。后边解释说因为定时器的模式是方式1,自动重置所以中断里什么都不用做,所以不需要中断。但是我看了下如果没有中断那么这个定时器在这个程序里完全没有意义啊,只是一个人在那不停计时,其他地方也没有调用他。
按前文将的是应该用定时器来控制波特率,请问这是怎么控制的,谢谢大神。




2.png
1.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
人中狼
2019-07-15 20:43
串口的定时器是给串口做发送位的时间间隔做定时的,原理和用法跟普通定时器一样,只是计时溢出后不产生中断,而是给串口部分信号,这时的定时器相当与串口单元的时钟信号。
串口的SBUF是1个字节大小,跟串口的帧格式协议定义一致。
串口的定时器只能指定一个,不会出现使用两个定时器的情况,因为定时器的出口不一样,串口使用的定时器的出口是串口单元,普通定时器的出口是定时器中断。
串口定时器是自动重装载模式,所以在定时器溢出后,也就是串口每发送一位后,定时器的初始值都是重新设置的,等于一次全新的计时。

一周热门 更多>