?? main.c
字號:
/* MAIN.C file
* Copyright (c) 軒微科技
本程序功能為讓軒微科技STM8S105S4開發板板載外部16MHz晶振與內部2M時鐘間在運行時動態切換.切換后LED與蜂鳴器閃頻和響頻會改變8倍
本程序使用ST官方庫進行操作.
軒微科技保留所有權利.
*/
#include "stm8s.h"
#include "stm8s_gpio.h"
#include "stm8s_beep.h"
#include "stm8s_clk.h"
//延時一段時間
void xwDelay(void)
{
int i=2;
int j=200;
while(i--)while(j--);
}
main()
{
unsigned long i=0;
//反初始化GPIOD
GPIO_DeInit(GPIOD);
//實始化GPIOD,配置其第0,2,3位為推挽輸出,高電平.
GPIO_Init(GPIOD, GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_3, GPIO_MODE_OUT_PP_LOW_FAST);
//反初始化BEEP
BEEP_DeInit();
//初始化BEEP
BEEP_Init(BEEP_FREQUENCY_1KHZ);
//配置蜂鳴器振時鐘
BEEP_LSICalibrationConfig(2000000);
//開始響
BEEP_Cmd(DISABLE);
//反初始化時鐘
CLK_DeInit();
//開啟晶體振蕩器
CLK_HSECmd(ENABLE);
while (1)
{
i++;
//間斷使能蜂鳴器
BEEP_Cmd(i%2);
//間斷亮LED
GPIO_WriteReverse(GPIOD, GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_3);
//軟件延時一段時間
xwDelay();
//蜂鳴器響5次后切換系統時鐘,切換后響閃頻率會變高
if(i==10)
{
//啟動切換,配置為自動切換模式
CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO,CLK_SOURCE_HSE,DISABLE,CLK_CURRENTCLOCKSTATE_DISABLE);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -