关于51串口通信的问题
时间:10-02
整理:3721RD
点击:
![](../imgqa/ele/mcu/mcu-3721rd.com-30404etgew3uesri.png)
上图(PC和MCU通信),我给单片机发送汉字,51的SBUF竟然识别了,然后按我编程序给我发回来,可是汉字不是没有ASCII码,为啥还会被SBUF识别
![](../imgqa/ele/mcu/mcu-3721rd.com-30406dag5oez1yhr.png)
![](../imgqa/ele/mcu/mcu-3721rd.com-304072s0qtr3gxfw.png)
是不是因为有汉字库,可是没有调用啊
只要你发东西 都接收 但是汉子 你单片机无法识别
只是编码不一样而已,你可以转换成16进制发到串口,看看是什么就可以了
SBUF的接收方式不是一次收八个数据位吗,汉字它不识别的话,应该没有数据位可收,怎么能进行后面再返回给PC的程序
这是对的,因为你把收到的字符直接发送回去了,收到的是什么,发送去的就是什么,字符是什么都是在PC机里解析的,PC机把“蓝绿”的字符码发给了单片机,单片机又原封不动的给发回去,在PC机里解析后,自然还是“蓝绿”。
从你的程序看出来,你单片机就是收到什么,发回什么,根本不用再干什么。这样对PC机而言,就相当于我把一个字符放置到一个盒子里,然后又从这个盒子里取回来,这个东西还是原来那个东西,也就是你的“蓝绿”啊。