c/c++ 51 单片机 串口 硬件

D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8T1RI以上是scon(串行口控制寄存器)的各位对应表。有这样一段代码:aa=SBUF;//接受状态i... D7 D6 D5 D4 D3 D2 D1 D0
SM0 SM1 SM2 REN TB8 RB8 T1 RI

以上是scon(串行口控制寄存器)的各位对应表。有这样一段代码:

aa = SBUF; //接受状态
if((aa&ox08)==ox08) //若命令未被接受,发复位信号
{
TB8 =1;
err();
}

我想知道的是:TB8在什么时候为0,什么时候为1?
展开
 我来答
zhxiufan
2012-10-22 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38381
国家科技进步奖

向TA提问 私信TA
展开全部
当串口模式为2、3(9位数据)时,需要用到RB8和TB8,其余模式是不会用到的,TB8是接收到的第9位数据,所以其值取决于发送方的值。
更多追问追答
追问
TB8会不会在收到消息的前后其值发生改变?我总感觉自己理解的 不透彻,但我又不知道怎么去问这个问题。暂时只能这样问
追答
上面说反了,当RI=1(串行数据接收完毕)时,RB8为接收到的第九位数(一般为校验值),TB8的值只能由软件改写,硬件不会改变该位的值。所以当发送时,先给该位赋值。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式