楼上说的对,另外上位机发来的字符串如果有起始和结束标志,可以用它们判断接收数据完了没有,完了再回复,程序最后几行严重不合理,接收一个字符就要回复一串吗?
应该是先收到才能发送,你在sendchar();函数里就等死了,不会往下走