IAR for STM8 为何可以不配置时钟?

来源:互联网 发布:网络编辑岗位职责 编辑:程序博客网 时间:2024/05/21 14:46

初学STM8,先是照着网上的教程建立了一个IAR工程,然后下载一个官方的固件库,搞了一个案例模板,功能超简单,就是一个LED灯闪烁,main函数就这么点内容:

void main(void){  /* Initialize I/Os in Output Mode */  GPIO_Init(LED_GPIO_PORT, (GPIO_Pin_TypeDef)LED_GPIO_PINS, GPIO_MODE_OUT_PP_LOW_FAST);  while (1)  {    /* Toggles LEDs */    GPIO_WriteReverse(LED_GPIO_PORT, (GPIO_Pin_TypeDef)LED_GPIO_PINS);    Delay(20000);  }}

直接连接STM8核心小板就欢快地跑起来了。。。等等?是不是少了什么?
为什么我没配置时钟,STM8芯片还能跑?

对比STC的51单片机,嗯,可能是配置位的问题,我就先看一下配置位:
这里写图片描述
这几个和时钟配置相关的配置位都没有内部rc震荡器的配置。
没办法,只能去看一下STM8S103的芯片文档。。。还是官方资料靠谱,原因在这里:
这里写图片描述
这个芯片哪怕不设置时钟,也会运行一个内部时钟8分频的2M默认时钟,与STM32不同的是,对于GPIO口的配置不再依赖其他时钟,所以程序就能依据这个2M的时钟让IO口闪动,果然解决疑难杂症的最好法子还是看手册(如果手册没问题的话)。

0 0
原创粉丝点击