以16进制发送一个0-65536之间的任一数:
这题目本身是有问题的,因为超过255的数,要用两个字节了,就是需要发送两次。
而你程序只接收一次,shu = SBUF;
这是伏备岁不可缺睁能的。
发送两次,要分高8位和滚搏低8位,这还要确定是先发高8位,还是先发低8位。
下一个问题是,看你的仿真图,是用虚拟终端发的,对吗?如果是的话,你这个题目又错啦。因为虚拟终端只能以ASCII码的形式发送,不能以16进制发送的,非要用16进制发送,必须在电脑上用串口调试助手,而且是发送两个字节。
所以,不论是仿真图,还是程序都是不可能完成这个题目的,因为题目本身就是错误的。
你好!
单片机串口是按照字节接收的,你这样是不对的