#include "stm32f10x.h"
#include "stm32f10x_rcc.h"
void RCC_Configuration(void);
void GPIO_Configuration(void);
void Set_GPIOB5(void);
void Clr_GPIOB5(void);
void delay(void);
int main(void)
{
RCC_Configuration();
GPIO_Configuration();
while(1)
{
Set_GPIOB5();
delay();
Clr_GPIOB5();
delay();
}
}
void RCC_Configuration(void)//设置系统时钟
{
RCC_DeInit(); //将外设RCC 寄存器重设为缺省值
RCC_HSEConfig(RCC_HSE_ON); //设置外部高速晶振(HSE )开
RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);//设置PLL 时钟源及倍频系数 PLL九倍频
RCC_PLLCmd(ENABLE); //使能或者失能PLL
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能或者失能APB2 外设时钟
}
void GPIO_Configuration(void) //设置GPIO口的输出
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;//选中管脚5
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;//最高输出速率 10MHz
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化寄存器B
}
void Set_GPIOB5(void)
{
GPIO_WriteBit(GPIOB, GPIO_Pin_5, Bit_SET);//设置B的5号管脚
}
void Clr_GPIOB5(void)
{
GPIO_WriteBit(GPIOB, GPIO_Pin_5, Bit_RESET);
}
void delay(void)
{
int i,j;
for(i = 200; i > 0; i--)
{
for(j = 2000; j > 0 ; j--);
}
}
[
本帖最后由 lclq 于 2011-3-8 15:03 编辑 ]