打印
[STM8]

STM8S105使用外部晶振做串口通讯时,波特率变为设置值的一半

[复制链接]
2234|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
STM8S105使用外部晶振做串口通讯时,波特率变为设置值的一半。请问这是什么原因?程序种下:
使用内部时钟时,设置波特率为115200,电脑上也设置为115200能正常通讯,STM8S105端的配置如下:    CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//直接使用内部时钟,并一分频。
    UART2_DeInit();
        //波特率,字节数,1个停止位,无奇偶效验位,非同步模式,允许接受和发送
    UART2_Init((u32)115200, UART2_WORDLENGTH_8D, UART2_STOPBITS_1, UART2_PARITY_NO , UART2_SYNCMODE_CLOCK_DISABLE , UART2_MODE_TXRX_ENABLE);
    UART2_Cmd(ENABLE );
    //设置内部高速时钟16M为主时钟


现在我改成使用外部时钟,晶振为8M,设置波特率为115200,电脑上要将波特率设置为57600时才能正常通讯,STM8S105端的配置如下:
CLK_DeInit();                                      //--> 时钟各变量初始化
CLK_HSECmd(ENABLE);                                //--> 外部高速晶振使能
while(SET != CLK_GetFlagStatus(CLK_FLAG_HSERDY)); //--> 测试外部高速晶振位是不是使能
CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);           //--> 外部时钟预分频器,1分频
CLK_ClockSwitchCmd(ENABLE);                        //--> 使能时钟切换功能
CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO,CLK_SOURCE_HSE,DISABLE,CLK_CURRENTCLOCKSTATE_DISABLE);

    UART2_DeInit();
        //波特率,字节数,1个停止位,无奇偶效验位,非同步模式,允许接受和发送
    UART2_Init((u32)115200, UART2_WORDLENGTH_8D, UART2_STOPBITS_1, UART2_PARITY_NO , UART2_SYNCMODE_CLOCK_DISABLE , UART2_MODE_TXRX_ENABLE);
    UART2_Cmd(ENABLE );



我想是因为使用外部时钟为8M时,导致波特率降低,请问要如何配置才能在外部时钟为8M的情况下,串口波特率也一样为115200?

谢谢。


沙发
xyz769| | 2017-1-1 23:18 | 只看该作者
改库文件中定义的晶振频率参数即可。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
rookie108 + 1 很给力!
板凳
rookie108|  楼主 | 2017-1-1 23:29 | 只看该作者
xyz769 发表于 2017-1-1 23:18
改库文件中定义的晶振频率参数即可。

我也是这样想,但无从入手啊。能否指点一下?

使用特权

评论回复
地板
rookie108|  楼主 | 2017-1-2 11:21 | 只看该作者
已经搞定了。谢谢

使用特权

评论回复
5
xyz549040622| | 2017-1-2 14:18 | 只看该作者
rookie108 发表于 2017-1-2 11:21
已经搞定了。谢谢

在哪找到的定义了,分享经验。

使用特权

评论回复
6
rookie108|  楼主 | 2017-1-2 18:36 | 只看该作者
xyz549040622 发表于 2017-1-2 14:18
在哪找到的定义了,分享经验。

把stm8s.h文件中的#define HSE_VALUE ((u32)16000000)改为#define HSE_VALUE ((u32)8000000)即可。
如下图所示:

使用特权

评论回复
评论
jinxiang1981 2023-1-29 20:09 回复TA
留个脚印 后人受益 !!! 
评分
参与人数 1威望 +10 收起 理由
xyz549040622 + 10 很给力!
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

27

帖子

3

粉丝