STM8上電運行時默認使用內(nèi)部16M的RC振蕩器經(jīng)8分頻后的2M時鐘頻率作為系統(tǒng)時鐘。程序開始運行后可以通過設置相關(guān)寄存器來修改主時鐘源,可以選擇外部晶振作為主時鐘源和CPU時鐘分頻。那么這里就選擇比較簡單的操作,修改內(nèi)部RC時鐘預分頻器獲得8M系統(tǒng)時鐘。增加內(nèi)部RC時鐘預分頻后的代碼如下:
本文引用地址:http://2s4d.com/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內(nèi)部RC經(jīng)2分頻后系統(tǒng)時鐘為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是不是閃得更快了
評論