初级会员

- 积分
- 156
- 金钱
- 156
- 注册时间
- 2021-7-22
- 在线时间
- 28 小时
|
1金钱
自己按照正点原子的教学视频和各个手册把跑马灯的代码写出,
但是不知道是自己哪里的疏忽,
写出来的代码跑出来不能交替闪烁,而是两个灯同时闪
以下分别是我的 led.h , led.c 和 main.c 的代码
(1)led.h:
#ifndef __LED_H
#define __LED_H
void LED_Init(void);
#endif
(2)led.c:
#include "sys.h"
#include "led.h"
void LED_Init(void)
{
RCC->APB2ENR|=1<<2;
RCC->APB2ENR|=1<<5;
GPIOA->CRH&=0xFFFFFFF0;
GPIOA->CRH|=0x00000003;
GPIOA->ODR|=1<<8;
GPIOD->CRL&=0xFFFFF0FF;
GPIOD->CRL|=0x00000300;
GPIOD->ODR|=1<<2;
}
(3)main.c:
#include "stm32f10x.h"
#include "delay.h"
#include "led.h"
int main(void)
{
Stm32_Clock_Init(9);
LED_Init();
delay_init(72);
while(1)
{
GPIOA->ODR|=1<<8;
GPIOD->ODR|=1<<2;
delay_ms(500);
GPIOA->ODR&=~(1<<8);
GPIOD->ODR&=~(1<<2);
delay_ms(500);
}
}
|
|