打印
[STM8]

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

[复制链接]
4579|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 (32.72 KB )

STM8S_Clock_Tree.GIF

使用特权

评论回复
5
静默|  楼主 | 2009-9-24 16:56 | 只看该作者
sorry, 我没说明白,我玩的是STM8L152C6
评估板是STM8L 1526-EVAL.

使用特权

评论回复
6
香水城| | 2009-9-24 17:20 | 只看该作者
思路很简单,只需把CPU的时钟切换到使用LSE即可,其它的就是要注意串口波特率的设置要计算好。

简单地算了一下,32768的主频下,波特率最多只能到2048,最接近的常用波特率是1200。

使用特权

评论回复
7
静默|  楼主 | 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。:(

使用特权

评论回复
8
香水城| | 2009-9-25 10:40 | 只看该作者
这个产品还没有正式发布,我还没看到你说的开发板,具体问题要看调试才能知道。请直接找为你提供开发板的FAE帮忙。

示波器上看到输出了吗?

使用特权

评论回复
9
mcuisp| | 2009-10-6 00:51 | 只看该作者
可以用HSI RC呀.
用32768校准一下,完全可以到0.5%的精度.

使用特权

评论回复
10
lyrics1314| | 2015-4-24 10:42 | 只看该作者
我现在遇到的问题是STM8L 不能用LSE作为主时钟,一切换就死机。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

171

帖子

1

粉丝