在51单片机多机通信中,为什么要启动定时器才能TI硬件置位=1?

SBUF=0xff;while(!TI);TI=0;在程序中,把TR1=1写在上述程序之前可以运行,写在末尾的话会在while死循环,TI不置1为什么非要启动定时器才能T... SBUF=0xff;
while(!TI)
;
TI=0;
在程序中 ,把TR1=1写在上述程序之前可以运行,写在末尾的话会在while死循环,TI不置1
为什么非要启动定时器才能 TI硬件置1
展开
 我来答
ywhjp
2013-11-27 · TA获得超过1299个赞
知道小有建树答主
回答量:1002
采纳率:60%
帮助的人:437万
展开全部
串口发送数据需要定时器产生波特率, 所以要先启动定时器, 不然就发不出去, TI也不会置1, 程序就变成死循环了
madaraii
2013-11-26 · TA获得超过668个赞
知道小有建树答主
回答量:842
采纳率:41%
帮助的人:287万
展开全部
这个问题,只要看过T1部分的控制电路框图都好理解的

TR1不置1的话,T1计数器就不跳数,TI初始值不是1的话,直到停电了T1也不能溢出,那TI就死都是0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5a45a47
2013-11-26 · TA获得超过136个赞
知道答主
回答量:71
采纳率:0%
帮助的人:64.2万
展开全部
51单片机是通过设置定时器1的中断次数来设置波特率的,所以必须置1后,才可以发送数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zinuoruge
2013-11-27 · 超过34用户采纳过TA的回答
知道答主
回答量:179
采纳率:0%
帮助的人:92万
展开全部
你知道TR1是什么吗,回去查查书,你不使能TR1,计时器不工作,一直在while里面循环,你这程序有啥意义!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式