大虾,能否用LSE做为STM8主时钟完成USART的串口通信

rogel   2009-9-24 16:09 楼主
如题,能否用LSE(32.768kHz)做为STM8的主时钟完成串口通信啊。
麻烦给些思路,最好能给出验证过的代码。


偶在楼底下先谢您了...............

回复评论 (8)

                                 不可以。
点赞  2009-9-24 16:30
谢谢!

有没有资料显示说明不可以........
点赞  2009-9-24 16:31
                                 STM8S根本就没有LSE。下面是STM8S参考手册中的相关部分:
点赞  2009-9-24 16:48
sorry, 我没说明白,我玩的是STM8L152C6
评估板是STM8L 1526-EVAL.
点赞  2009-9-24 16:56
思路很简单,只需把CPU的时钟切换到使用LSE即可,其它的就是要注意串口波特率的设置要计算好。

简单地算了一下,32768的主频下,波特率最多只能到2048,最接近的常用波特率是1200。
点赞  2009-9-24 17:20
USART_SendData8(USART1, (unsigned char) u8Dat);
          while (!USART_GetFlagStatus(USART1, USART_FLAG_TC));
设置主时钟为LSE, USART为600bps的设置,会挂在上述的while语句中。
若不设置LSE,以缺省的HSI为主时钟,串行通信正常,可达到115200。
点赞  2009-9-25 09:19
这个产品还没有正式发布,我还没看到你说的开发板,具体问题要看调试才能知道。请直接找为你提供开发板的FAE帮忙。

示波器上看到输出了吗?
点赞  2009-9-25 10:40
可以用HSI RC呀.
用32768校准一下,完全可以到0.5%的精度.
点赞  2009-10-6 00:51
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复