OpenEdv-开源电子网

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

原子,板子上面有一个led灯我始终没法让它熄灭,部分代码贴出来了,麻烦看看,谢谢!

[复制链接]

10

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2012-3-14
在线时间
0 小时
发表于 2012-3-14 20:45:36 | 显示全部楼层 |阅读模式

板子上面有两个灯,分别是ds1和ds0,我如果直接使用光盘中提供的代码(寄存器版本),如下:
#include <stm32f10x_lib.h>
#include "sys.h" 
#include "delay.h"
#include "led.h" 
 
int main(void)
{     
 Stm32_Clock_Init(9); //系统时钟设置
 delay_init(72);      //延时初始化
 LED_Init();      //初始化与LED连接的硬件接口
    while(1)
 {
  LED0=0;
  LED1=1;
    delay_ms(300);
  LED0=1;
  LED1=0;
    delay_ms(300);
 }      
}

两个灯都是交替闪烁,完全没有问题。

但是,如果我换一种操作方式,也就是不使用光盘中提供的sys.h文件中定义宏,程序如下:
#include <stm32f10x_lib.h>
#include "sys.h" 
#include "delay.h"
#include "led.h" 
  
int main(void)
{     
 Stm32_Clock_Init(9); //系统时钟设置
 delay_init(72);      //延时初始化
 LED_Init();      //初始化与LED连接的硬件接口
    while(1)
 {
  //LED0=0;                        //此处被我注释掉
  //LED1=1;
  GPIOA->BRR|=1<<8;     //利用keil软件中自带的stm32f10x_map.h文件中的指针定义,直接操作寄存器
  GPIOD->BRR|=1<<2;
  delay_ms(100);
 // LED0=1;                     //此处被我注释掉
  //LED1=0;
  GPIOA->BSRR|=1<<8;   //利用keil软件中自带的stm32f10x_map.h文件中的指针定义,直接操作寄存器
  GPIOD->BSRR|=1<<8;
  delay_ms(100);
 }      
}

而这个时候ds0依然可以闪烁,但是ds1却始终是亮着,这是怎么回事啊?
是不是问题出在sys.h文件中LED0=1和LED1=1这两个宏的定义啊?

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

使用道具 举报

57

主题

431

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
883
金钱
883
注册时间
2011-12-25
在线时间
12 小时
发表于 2012-3-14 22:06:29 | 显示全部楼层
回复【楼主位】10086rainer:
---------------------------------
 GPIOA->BSRR|=1<<8;   //利用keil软件中自带的stm32f10x_map.h文件中的指针定义,直接操作寄存器
  GPIOD->BSRR|=1<<8;
看看这个。。。。
GPIOD->BSRR|=1<<8;
应该是GPIOD->BSRR|=1<<2;
很喜爱电子行业
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-3-14 22:38:04 | 显示全部楼层
楼上正解.
回复 支持 反对

使用道具 举报

10

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2012-3-14
在线时间
0 小时
 楼主| 发表于 2012-3-15 11:27:23 | 显示全部楼层
回复【2楼】冰是睡着的水:
---------------------------------
呵呵,真是惭愧惭愧,犯了这么低级的错误
多谢指点!
回复 支持 反对

使用道具 举报

10

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2012-3-14
在线时间
0 小时
 楼主| 发表于 2012-3-15 11:31:46 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
多谢原子百忙之中抽空,顺便说一句,你们的板子很好。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-3-15 12:39:38 | 显示全部楼层
谢谢支持
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-25 04:21

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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