串口发送大于0x80的数出问题

2019-07-21 08:33发布

使用库函数  int main(void){       USART_Config();
        USART_SendData(USART1,0x81)
        while (1);
}
问题为,按一次reset没反应,按第二次出现两个0x81

而发送数组,若数组元素数值小于0x80发送正常,如果有数值大于0x80则出错
例如要发送{01,02,0x81}
串口接收端显示{3f,02}
所有数组、指针格式为unsigned char,所以数组元素值范围应该在0~0xff之间,数据类型应该没有问题。

有大神碰到过这样的问题吗?该怎样解决呢?

int main(void)
{       
        USART_Config();       

        Req_Cmd_TxBuf[0]=0X01;
        Req_Cmd_TxBuf[1]=0X02;
        Req_Cmd_TxBuf[2]=0X81;
        usSndBufferCount=3;
       
        pucSndBufferCur= (UCHAR *) Req_Cmd_TxBuf;

        vMBPortSerialEnable( FALSE, TRUE );//发送使能
       
        while(1)
        {
               
        }
}




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。