OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4955|回复: 6

【新手求助】Mini板寄存器跑马灯两个LED一起闪,无法交替闪烁

[复制链接]

7

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2021-7-22
在线时间
28 小时
发表于 2021-7-23 10:01:16 | 显示全部楼层 |阅读模式
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);
    }
}




NS8]B@7AD)Y{415VN7~M{OI.png
IMY%NB9F`@[1KZR{X9WMM~K.png
NS8]B@7AD)Y{415VN7~M{OI.png

最佳答案

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

3

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1057
金钱
1057
注册时间
2016-4-3
在线时间
76 小时
发表于 2021-7-23 10:01:17 | 显示全部楼层
GPIOA->ODR|=1<<8;
  GPIOD->ODR&=~(1<<2);
  delay_ms(500);
      
    GPIOA->ODR&=~(1<<8);
    GPIOD->ODR|=1<<2;
    delay_ms(500);

交换一下位置就可以一个亮,一个不亮了
逐渐平淡
回复

使用道具 举报

7

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2021-7-22
在线时间
28 小时
 楼主| 发表于 2021-7-23 10:06:00 | 显示全部楼层
上传的图片中led.c不小心重复了,缺失led.h,led.h的代码还请看文字
回复

使用道具 举报

7

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2021-7-22
在线时间
28 小时
 楼主| 发表于 2021-7-23 10:17:12 | 显示全部楼层
刚刚看了又看了看原子的视频,发现视频中就是一起闪的
此时又很好奇如何让两个灯交替闪,有大佬能指点一下吗o(╥﹏╥)o
回复

使用道具 举报

12

主题

3402

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8689
金钱
8689
注册时间
2020-5-11
在线时间
4180 小时
发表于 2021-7-23 10:37:57 | 显示全部楼层
把while(1)中每一句的作用了解一下,
C语言的位运算了解一下。
专治疑难杂症
回复

使用道具 举报

6

主题

890

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1481
金钱
1481
注册时间
2020-8-19
在线时间
336 小时
发表于 2021-7-23 10:40:57 | 显示全部楼层
你这样写就是一起闪的,你自己试试换一下那些delay的位置就知道怎么交替了
回复

使用道具 举报

7

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2021-7-22
在线时间
28 小时
 楼主| 发表于 2021-7-23 10:52:11 | 显示全部楼层

感谢!!!成功了(*^▽^*)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-25 22:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表