如果一个芯片的UART只提供一个停止位,但我为了和别的设备保持兼容,必须搞出两个停止位出来,我能不能通过把这个芯片的奇偶校验位的值设为1来实现?!
这个芯片的奇偶校验位不是芯片计算的,是由写程序的人自己用代码计算出后添加到某个寄存器的某个位置上的,所以可以完全可以手工固定的把它设置为1
我查看了UART的电平格式,空闲状态为高电平,开始位为0,然后发送8个数据位,然后是奇偶校验位,停止位为高电平,所以我想把奇偶校验位强制设置为1是不是就可以实现两位停止位的效果了把?!
而且这样的话,另一方的格式是开始位+8数据位+停止位,即使没有奇偶校验位也不会导致通信接受错误的把,因为奇偶校验位被接受方当成了停止位,停止位被当成了空闲状态,也不会有事的把?! |