程序:
#include "stm32f10x.h"
#include "stm32f10x.h"
static __IO uint32_t TimingDelay;
void RCC_Configuration(void);
void Delay(__IO uint32_t nTime);
/****************************************************************************
* 名 稱:void LED_Config(void)
* 功 能:LED 控制初始化函數
* 入口參數:無
* 出口參數:無
* 說 明:
* 調用方法:無
****************************************************************************/
void LED_Config(void){
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //LED1 V6 配置為通用推挽輸出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //口線翻轉速度為50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; //LCD背光控制
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_ResetBits(GPIOD, GPIO_Pin_13); //LCD背光關閉
}
/****************************************************************************
* 名 稱:int main(void)
* 功 能:主函數
* 入口參數:無
* 出口參數:無
* 說 明:
* 調用方法:無
****************************************************************************/
int main(void)
{
RCC_Configuration(); //系統時鐘設置及各外設時鐘使能
LED_Config(); //LED控制初始化
if (SysTick_Config(72000)) //時鐘節拍中斷時1ms一次 用于定時 core_cm3.h
{
/* Capture error */
while (1);
}
while (1)
{
GPIO_SetBits(GPIOB, GPIO_Pin_5); //LED1 亮
Delay(500); //延時500ms
GPIO_ResetBits(GPIOB, GPIO_Pin_5); //LED1 滅
Delay(500); //延時500ms
}
}
/****************************************************************************
* 名 稱:void RCC_Configuration(void)
* 功 能:系統時鐘配置為72MHZ, 外設時鐘配置
* 入口參數:無
* 出口參數:無
* 說 明:
* 調用方法:無
****************************************************************************/
void RCC_Configuration(void){
SystemInit();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC
| RCC_APB2Periph_GPIOD| RCC_APB2Periph_GPIOE , ENABLE);
}
/****************************************************************************
* 名 稱:void Delay(__IO uint32_t nTime)
* 功 能:定時延時程序 1ms為單位
* 入口參數:無
* 出口參數:無
* 說 明:
* 調用方法:無
****************************************************************************/
void Delay(__IO uint32_t nTime)
{
TimingDelay = nTime;
while(TimingDelay != 0);
}
/****************************************************************************
* 名 稱:void TimingDelay_Decrement(void)
* 功 能:獲取節拍程序
* 入口參數:無
* 出口參數:無
* 說 明:
* 調用方法:無
****************************************************************************/
void TimingDelay_Decrement(void)
{
if (TimingDelay != 0x00)
{
TimingDelay--;
}
}