首先,你的程序没有问题,不能接收数据,从以下几个原因找:
1、这是在实验板上做测试吗,那看一下实验板上单片机的晶振频率是不是11.0592MHz,必须是这个频率,否则就无法接收数据。
2、实验板的单片机要接收数据,你是怎么向单片机发数据的,是用电脑发的吗,在电脑是用串口助手发的吗。你这程序是必须先由对方发送数据,单片机才能接收,接收后才返回数据的。
3、你的程序,用仿真图测试的,是对的,见下图,可以接收并返回数据的。