如题,能否用LSE(32.768kHz)做为STM8的主时钟完成串口通信啊。
麻烦给些思路,最好能给出验证过的代码。
偶在楼底下先谢您了...............
STM8S根本就没有LSE。下面是STM8S参考手册中的相关部分:
sorry, 我没说明白,我玩的是STM8L152C6
评估板是STM8L 1526-EVAL.
思路很简单,只需把CPU的时钟切换到使用LSE即可,其它的就是要注意串口波特率的设置要计算好。
简单地算了一下,32768的主频下,波特率最多只能到2048,最接近的常用波特率是1200。
USART_SendData8(USART1, (unsigned char) u8Dat);
while (!USART_GetFlagStatus(USART1, USART_FLAG_TC));
设置主时钟为LSE, USART为600bps的设置,会挂在上述的while语句中。
若不设置LSE,以缺省的HSI为主时钟,串行通信正常,可达到115200。
这个产品还没有正式发布,我还没看到你说的开发板,具体问题要看调试才能知道。请直接找为你提供开发板的FAE帮忙。
示波器上看到输出了吗?
可以用HSI RC呀.
用32768校准一下,完全可以到0.5%的精度.