关于ATMEL51单片机串行通讯中的接收位RB8 余永全的《ATMEL89系列单片机应用技术》描述是:如果在接收前定义了 SM2=1,则接收机在接收到停止位后会对RB8进行检测;如RB8=1,则串行口 向CPU发出中断请求,请求对SBUF中的数据进行处理;如RB8=0,则数据不于 接收;如定义了SM2=0,则收到的数据不管RB8为何值都予以接收处理。
其他参考书中为何在接收串行通讯中还要对数据RB8进行检测。 现在出的单片机书可谓五花八门,没有几本书能例出正确的程序。 既然RB8在定义了SM2=1时有硬件自动对RB8进行检测。在软件中再对 RB8进行检测不是多此一举吗,反而搞得读者糊涂。
这几天搞多机通讯,书倒好几本,没多少写的明白的。实例也不能运行。 自己只能先写地址,再检查应答。再发送数据一步一步试,照书上的。 搞不了 |