#include <stm32f10x_lib.h>
#include "STM32_Init.h"
#define LED1 (1<<4)
#define LED2 (1<<5)
#define LED3 (1<<6)
#define LED4 (1<<7)
#define LED (LED1 |LED2 |LED3 |LED4)
#define KEY2 (1<<3)
#define KEY3 (1<<4)
int main(void)
{
int i,j;
unsigned short kk;
stm32_Init();
//GPIOC->ODR = LED1;
while(1)
{
for(i=0;i<1000;i++)
for(j=0;j<1000;j++)
GPIOC->ODR |= LED1;
for(i=0;i<1000;i++)
for(j=0;j<1000;j++)
GPIOC->ODR |= LED2;
for(i=0;i<1000;i++)
for(j=0;j<1000;j++)
GPIOC->ODR |= LED3;
for(i=0;i<1000;i++)
for(j=0;j<1000;j++)
GPIOC->ODR |= LED4;
for(i=0;i<1000;i++)
for(j=0;j<1000;j++)
GPIOC->ODR &= ~(LED);
kk=GPIOD->IDR;
while((kk&KEY2)==0)
{
GPIOC->ODR |= LED1|LED3;
for(i=0;i<1000;i++)
for(j=0;j<1000;j++);
GPIOC->ODR &= ~(LED);
kk=GPIOD->IDR;
for(i=0;i<1000;i++)
for(j=0;j<1000;j++)
;
}
while((kk&KEY3)==0)
{
GPIOC->ODR |= LED2|LED4;
for(i=0;i<1000;i++)
for(j=0;j<1000;j++);
GPIOC->ODR &= ~(LED);
kk=GPIOD->IDR;
for(i=0;i<1000;i++)
for(j=0;j<1000;j++)
;
}
}
}
目标:学习gpio使用,控制4个led完成跑马灯,在key2按下时,led1 led3闪烁,在按下key3是led2 led4闪烁。
问题:1〉开始只将STM32_Init.c从keil的模板工程里靠了过来,忽略了STM32_Init.h,所以编译没有通过。
2〉STM32_Reg.h不是系统自带的,需要从样板工程拷贝过来。
工程文件
文章评论(0条评论)
登录后参与讨论