打印

关于printf函数和TI的关系

[复制链接]
2936|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 | 只看该作者
顶到让高手看见啊~~~

使用特权

评论回复
5
Mindist| | 2009-10-25 13:05 | 只看该作者
高手快来看看啊~~~

使用特权

评论回复
6
Mindist| | 2009-10-25 13:06 | 只看该作者
我不是灌水啊。。。阿门。。。

使用特权

评论回复
7
冷漠| | 2009-10-25 16:40 | 只看该作者

使用特权

评论回复
8
lixiaopeng| | 2009-10-25 19:56 | 只看该作者
请问printf是什么函数,是哪个库里面的还是你自己定义的?如果TI不置1的话是可以发送的。发送完后TI硬件置1.

使用特权

评论回复
9
古道热肠| | 2009-10-26 10:33 | 只看该作者
<stdio.h>中定义,调用底层的putch()来实现.底层发送数据到串口时,先查TI=1是否成立,死等直到TI=1时将新数据写入SBUG,函数返回,所以要先将TI置1,启动第一次传输操作.
可查看反汇编相关代码理解其工作机理!

使用特权

评论回复
10
Mindist| | 2009-10-26 10:43 | 只看该作者
9# 古道热肠
有点明白了。。。多谢古道热肠

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

21

帖子

0

粉丝