关于0xAA和0x55

来源:互联网 发布:log4cplus linux 编辑:程序博客网 时间:2024/04/29 18:14
    许多串口通讯中测试或握手信号使用AA或55这两个特殊的十六进制数,在许多PIC内部的EEPROM改写也使用这两个数作为敲门砖,初学者可能不解何为,其实如果将这两个数展开成二进制就可明白为什么:AA展开为10101010,55展开为01010101,变成串行电平的话就是一个占空比为50%的方波,这种方波在电路中最容易被分辨是否受干扰或者畸变,在实际波形的观察中也最容易看出毛病所在,以异步串口通讯为例,通讯的每一个字节开始为一个数据位的低电平作为起始位,字节发送结束后是一个或两个数据位的高电平作为停止位,在测试程序阶段,我们可尝试发送0xAA,利用示波器来验证发送是否正确,以9600BPS的波特率计算,每个BIT的所用的时间大约是104.17μS,这里我们选择停止位占一个数据位,然后照此写一个反复连续发送AA的发送程序,那么在正确发送时在IO口看到的波形应该是一个大约4.8KHZ的方波,周期大约为208.34μS,占空比为50%。这样我们可以很快断定发送是否正确。
0 0