keil中printf
1.printf函数是调用putchar函数输入的,而putchar应该是先判断ti是否为1,不为1则等待为1。
2.Keil的串口处理比较巧妙的,我的分析如下:
3.一般串口发送都是等TI(字节发送完标志)为1就马上发送下一字节,由于不管是中断还是查 询TI标志的方法,都会检测TI,因此首次发送必须置位TI标志,使串口开始发送你的“在程序的初始化部分往串口数据寄存器SBUF里放一个字符来起用终 端显示;”方法最终作用也就是把TI置1,改成TI=1;来启动发送也是一样的(当然,不会发出那个 字符了)。
4.中定义,调用底层的putchar()来实现.底层发送数 据到串口时,先查TI=1是否成立,死等直到TI=1时将新数据写入SBUF,函数返回,所以要先将TI置1,启动第一次传输操作.可查看反汇编相关代码 理解其工作机理!
5.自己理解:在多机通讯中,应该也要形成像 putchar()函数的机理,要有串口中断服务程序,并且是在该程序中判断TI,根据TI是不是该发送下一组数据~同样对于接收的一方..
评论