STM8上电运行时默认使用内部16M的RC振荡器经8分频后的2M时钟频率作为系统时钟。程序开始运行后可以通过设置相关寄存器来修改主时钟源,可以选择外部晶振作为主时钟源和CPU时钟分频。那么这里就选择比较简单的操作,修改内部RC时钟预分频器获得8M系统时钟。增加内部RC时钟预分频后的代码如下:
本文引用地址:https://www.eepw.com.cn/article/201611/320480.htm#i nclude
#define LED1_FLASHPD_ODR_ODR3 =!PD_ODR_ODR3// LED闪灯指示
void delay(unsigned int count)
{
while(count--);
}
void CLK_init(void)
{
CLK_CKDIVR = 0x08; // 16M内部RC经2分频后系统时钟为8M
}
void GPIO_init(void)
{
PD_DDR = 0x08;// 配置PD端口的方向寄存器PD3输出
PD_CR1 = 0x08;// 设置PD3为推挽输出
}
void init_devices(void)
{
CLK_init();
GPIO_init();
}
void main( void )
{
init_devices();
while(1)
{
delay(50000);
LED1_FLASH;
}
}
编译后运行一下看看,LED1是不是闪得更快了
评论