1、程序不全,不好判断,但是从你的串口配置中看不出不对的地方。
2、既然9600可以,115200与它的区别就是将定时器设置成1T模式。但已经看见AUXR |=0X40; //定时器1运行于1T模式。
3、是不是引线过长或是单片机TXD脚连接的引线上有落地电容。可以尝试将单片机TXD脚配置成推挽输出或是在该脚上接1K-4.7K上拉电阻。
很可能是硬件的问题。排除方法:
电脑的com口自发自收一下,确定电脑能使用较高的波特率。
电平转换芯片,单片机和电脑com口的通讯电平是不同的,转换芯片支持不了这么高的波特率,可以自己制作高速电平转换电路试试。
换用有屏蔽的损耗较小的通讯线材,长度尽量短些。
你可以将波特率逐级往下降低试试,比如57600,比如28800等等。