串口发送大于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)
        {
               
        }
}




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
小火苗
1楼-- · 2019-07-21 10:07
 精彩回答 2  元偷偷看……
lvkanger
2楼-- · 2019-07-21 14:12
发完整的代码
小火苗
3楼-- · 2019-07-21 19:47
lvkanger 发表于 2018-10-29 11:54
发完整的代码

就第一个,最简单的,main里面调库函数 USART_SendData()
小火苗
4楼-- · 2019-07-21 22:30
本帖最后由 小火苗 于 2018-10-29 13:05 编辑

调试程序,数组赋值正确
小火苗
5楼-- · 2019-07-21 22:30
在线等,求解决。。。。

一周热门 更多>