板子还没焊好,先借了开发块板学着。四个LED灯分别对应PA1,PA4,PB0,PB1口。刚编好跑马灯程序,与大家分享一下,不足之处还请各路高手批评指出。库用的3.0
#include "stm32f10x.h"
void RCC_Configuration(void); //声明时钟初始化函数
void GPIO_Configuration(void); //声明io口初始化函数
void delay(int); //声明延时函数
GPIO_InitTypeDef GPIO_InitStructure; //声明gpio的结构
int main(void)
{
RCC_Configuration(); //初始化时钟
GPIO_Configuration(); //初始化io口
while (1)
{
GPIO_WriteBit(GPIOA,GPIO_Pin_1,Bit_SET); //置位第一个灯
delay(20);
GPIO_WriteBit(GPIOA,GPIO_Pin_1,Bit_RESET); //复位第一个灯
delay(20);
GPIO_WriteBit(GPIOA,GPIO_Pin_4,Bit_SET);
delay(20);
GPIO_WriteBit(GPIOA,GPIO_Pin_4,Bit_RESET);
delay(20);
GPIO_WriteBit(GPIOB,GPIO_Pin_0,Bit_SET);
delay(20);
GPIO_WriteBit(GPIOB,GPIO_Pin_0,Bit_RESET);
delay(20);
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_SET);
delay(20);
GPIO_WriteBit(GPIOB,GPIO_Pin_1,Bit_RESET);
delay(20);
}
}
void GPIO_Configuration(void) //io初始化函数
{
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1|GPIO_Pin_4;//选择io口的第一和四位
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_1 | GPIO_Pin_4;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //时钟速度为50M
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //设置为端口输出模式
GPIO_Init(GPIOA,&GPIO_InitStructure); //用以上几个参数初始化PA口
// GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1;//选择io口的第0和1位
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; //时钟速度为50M
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //设置为端口输出模式
GPIO_Init(GPIOB,&GPIO_InitStructure); //用以上几个参数初始化PB口
}
void RCC_Configuration(void) //时钟初始化函数
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB,ENABLE);
}
void delay(int k)
{
int i,j;
for(i=0;i<50000;i++)
for(j=0;j<k;j++);
}
#ifdef USE_FULL_ASSERT
void assert_failed(uint8_t* file, uint32_t line)
{
while (1)
{
}
}
#endif