STM8S系统时钟应用(IAR)
时间:01-21 10:59 阅读:5106次
*温馨提示:点击图片可以放大观看高清大图
简介:STM8上电运行时默认使用内部16M的RC振荡器经8分频后的2M时钟频率作为系统时钟。
STM8上电运行时默认使用内部16M的RC振荡器经8分频后的2M时钟频率作为系统时钟。程序开始运行后可以通过设置相关寄存器来修改主时钟源,可以选择外部晶振作为主时钟源和CPU时钟分频。那么这里就选择比较简单的操作,修改内部RC时钟预分频器获得8M系统时钟。
增加内部RC时钟预分频后的代码如下:
#i nclude
#define LED1_FLASH PD_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;
}
}