关于printf函数和TI的关系

[复制链接]
3732|9
 楼主| xqg119 发表于 2008-10-29 17:46 | 显示全部楼层 |阅读模式
为什么用printf函数向串口发送东西时,要先把TI置1,TI=1不是发送成功吗,难道没有发送之前我就要说发送成功了??!!
会不会是这个函数会自动处理TI?还是如果TI为0表示前面的没发送成功,然后这个函数发送成功后会把TI置1(和汇编时用法相反)?
Mindist 发表于 2009-10-25 13:04 | 显示全部楼层
我也想知道是怎么回事,帮你顶上去了~~~~
Mindist 发表于 2009-10-25 13:05 | 显示全部楼层
再顶再顶~~~
Mindist 发表于 2009-10-25 13:05 | 显示全部楼层
顶到让高手看见啊~~~
Mindist 发表于 2009-10-25 13:05 | 显示全部楼层
高手快来看看啊~~~
Mindist 发表于 2009-10-25 13:06 | 显示全部楼层
我不是灌水啊。。。阿门。。。
冷漠 发表于 2009-10-25 16:40 | 显示全部楼层
lixiaopeng 发表于 2009-10-25 19:56 | 显示全部楼层
请问printf是什么函数,是哪个库里面的还是你自己定义的?如果TI不置1的话是可以发送的。发送完后TI硬件置1.
古道热肠 发表于 2009-10-26 10:33 | 显示全部楼层
<stdio.h>中定义,调用底层的putch()来实现.底层发送数据到串口时,先查TI=1是否成立,死等直到TI=1时将新数据写入SBUG,函数返回,所以要先将TI置1,启动第一次传输操作.
可查看反汇编相关代码理解其工作机理!
Mindist 发表于 2009-10-26 10:43 | 显示全部楼层
9# 古道热肠
有点明白了。。。多谢古道热肠
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

21

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部