本例程直接用官方库的模版生成,个人感觉官方写的很不错。
由于开发板差异,需要修改一些地方‘
stm32f10x.h
晶振配置要修改,我们是12M
#if !defined HSE_VALUE
#ifdef STM32F10X_CL
#define HSE_VALUE ((uint32_t)
12000000) /*!< Value of the External oscillator in Hz */
#else
#define HSE_VALUE ((uint32_t)
12000000) /*!< Value of the External oscillator in Hz */
#endif /* STM32F10X_CL */
#endif /* HSE_VALUE */
system_stm32f10x.c//选择主时钟频率,不需要的注释掉
#if defined (STM32F10X_LD_VL) || (defined STM32F10X_MD_VL) || (defined STM32F10X_HD_VL)
/* #define SYSCLK_FREQ_HSE HSE_VALUE */
#define SYSCLK_FREQ_24MHz 24000000
#else
//#define SYSCLK_FREQ_HSE HSE_VALUE //晶振
/* #define SYSCLK_FREQ_24MHz 24000000 */内部RC
/* #define SYSCLK_FREQ_36MHz 36000000 */
/* #define SYSCLK_FREQ_48MHz 48000000 */
/* #define SYSCLK_FREQ_56MHz 56000000 */
#define SYSCLK_FREQ_72MHz 72000000
#endif
在主函数中调用它就OK
void SystemInit (void);
想调整频率,调用它
void SystemCoreClockUpdate (void);
主函数
int main(void)
{
// RCC_Config(); // 时钟初始化配置
SystemInit();
/* LED 端口初始化 */
LED_GPIO_Config();
while(1)
{
LED3(ON);
Delay(900000);
LED3(OFF);
Delay(900000);
}
}
LED3接线,从原理图中能发现,让要PA3引脚输出低电平LED就亮,高电平来。
void LED_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_SetBits(GPIOA, GPIO_Pin_3); // turn off all led
}
LED.rar
(241.72 KB)
(下载次数: 4, 2016-8-6 21:10 上传)