串口打印输出波特率都是9600

2019-07-14 16:13发布

最近玩串口打印的时候发现一个奇怪的现象,如图,波特率都是9600,而且另一块板子可以正常显示,这程序是从另一块板子上移植过来的,是我忽略了什么吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
TOPCB
1楼-- · 2019-07-15 01:50
楼主看一下十六进制,对比一下,是否有乱码的插入。
ijdwiuq
2楼-- · 2019-07-15 02:13
晶振是不是一样?可能会跟这个有一点关系哦。
iwuwjgj
3楼-- · 2019-07-15 04:21
ijdwiuq 发表于 2018-11-7 07:56
晶振是不是一样?可能会跟这个有一点关系哦。

都是8M,但是不是同一个牌子的
ijdwiuq
4楼-- · 2019-07-15 07:43
iwuwjgj 发表于 2018-11-7 08:04
都是8M,但是不是同一个牌子的

这应该是配置不同吧,你用的是那两个芯片?可以发一下串口初始化的程序给我看看吗?
tianyou15
5楼-- · 2019-07-15 13:06
 精彩回答 2  元偷偷看……
iwuwjgj
6楼-- · 2019-07-15 18:34
ijdwiuq 发表于 2018-11-7 08:12
这应该是配置不同吧,你用的是那两个芯片?可以发一下串口初始化的程序给我看看吗?

没问题的是stm32f103ve,出问题的是stm32f103c8t6
void USART_Configuration(void)
{
    USART_InitTypeDef  USART_InitStructure;

        USART_InitStructure.USART_BaudRate=9600;
        USART_InitStructure.USART_WordLength=USART_WordLength_8b;
        USART_InitStructure.USART_StopBits=USART_StopBits_1;
        USART_InitStructure.USART_Parity=USART_Parity_No;
        USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
        USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;

        USART_Init(USART1,&USART_InitStructure);
        USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
        USART_Cmd(USART1,ENABLE);
        USART_ClearFlag(USART1,USART_FLAG_TC);
}

一周热门 更多>