串口不能发送八位数据

2019-07-20 22:01发布

在原子哥的例程上修改的,想通过串口1发送八位数据。但是最大只能发送0x7f。发送0x7f以上的数据,在串口调试助手收到的都是0x3f。usart.c未做任何修改,只改了主函数中的部分。求解原因,谢谢

以下为代码内容
int main(void)
{               
        u16 times=0;
        int senddata=0xff;
        delay_init();          
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
        uart_init(115200);         
        LED_Init();               
        while(1)
        {
                       
                        USART_SendData(USART1, senddata);
                        while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);
                        if(times%30==0)LED0=!LED0;
                        delay_ms(1000);   
        }         
}


以下为串口调试助手截图
串口调试助手截图 串口调试助手截图
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
慕容陌尘
1楼-- · 2019-07-21 17:31
找到原因了,这貌似是原子这个串口调试助手的bug。我换了STC的串口调试助手和丁丁的串口调试助手,都是正确的。
慕容陌尘
2楼-- · 2019-07-21 19:57
慕容陌尘
3楼-- · 2019-07-22 00:16
 精彩回答 2  元偷偷看……

一周热门 更多>