引用 19 楼 veron_04 的回复:
尝试用串口调试器给接收单片机发送一下,看看有什么不同,这样做就排除了发送端故障的情况,可以检查一下接收端是否有问题。
发送端没有问题,现在可以确定是接收端的问题
对了,我接收端的缓冲区用的是一个结构体数组,这个结构体里面还有另外的数组,这样在中断函数里接收数据的时候,会不会因为寻址太复杂而花费了很多时间?
结构体如下:
#define DATACOUNT 4
#define uchar unsigned char
/*结构体,用于构建接收和发送的缓冲区*/
typedef struct
{
uchar dataVol[DATACOUNT]; /*4个字节*/
uchar dataEle[DATACOUNT]; /*4个字节*/
uchar dataId;
uchar dataFlag; /*BIT0 :0,没有接收到数据。1,接收到数据
BIT1 :0,此次接收的是电压。1,此次接收的是电流*/
}USART_DATA;
复制代码