原因 C++ 字符型char一个字节位8位二进制,最高位为符号位,1表示负数,0表示正数。所以它表示的范围是 -127~128。而当我们接收的是FF时就超过了它所表示的范围。 解决方法 用unsigned char 类型来接收串口传递过来的数据。