HSE 使用16M晶振时串口打印错误

2019-07-19 20:41发布

[mw_shl_code=c,true]static void CLK_Config(void)
{
    ErrorStatus status = ERROR;

    CLK_DeInit();

    CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);
    CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1);

        /* uart0 run ERROR with HSE:*/
    status = CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSE, DISABLE, CLK_CURRENTCLOCKSTATE_DISABLE);
   
    /* uart1 run OK with HSI:  */
    /* status = CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSI, DISABLE, CLK_CURRENTCLOCKSTATE_DISABLE); */

    CLK_ITConfig(CLK_IT_CSSD, ENABLE);
    enableInterrupts();

    UNUSED(status);
}[/mw_shl_code]

[size=13.3333px]STM8S208MB,  当fmaster 使用 HSI 1分频, fcpu 1分频时, 串口打印正常, 当fmaster 使用 HSE(16M) 1分频, fcpu 1分频时,串口打印错误。这个错在哪里了?


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
正点原子
1楼-- · 2019-07-20 00:54
检查波特率设置
xinshou
2楼-- · 2019-07-20 02:46
对比查看了,是ST的库函数写错了,用寄存器操作就OK了,太坑爹了,谢谢!

一周热门 更多>