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

[复制链接]
5833|9
 楼主| 静默 发表于 2009-9-24 16:09 | 显示全部楼层 |阅读模式
如题,能否用LSE(32.768kHz)做为STM8的主时钟完成串口通信啊。
麻烦给些思路,最好能给出验证过的代码。


偶在楼底下先谢您了...............
香水城 发表于 2009-9-24 16:30 | 显示全部楼层
不可以。
 楼主| 静默 发表于 2009-9-24 16:31 | 显示全部楼层
谢谢!

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

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

示波器上看到输出了吗?
mcuisp 发表于 2009-10-6 00:51 | 显示全部楼层
可以用HSI RC呀.
用32768校准一下,完全可以到0.5%的精度.
lyrics1314 发表于 2015-4-24 10:42 | 显示全部楼层
我现在遇到的问题是STM8L 不能用LSE作为主时钟,一切换就死机。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

171

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部