OpenEdv-开源电子网

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

寄存器配置LED灯,LED不亮。

[复制链接]

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2015-6-18
在线时间
0 小时
发表于 2015-6-18 08:23:04 | 显示全部楼层 |阅读模式
5金钱

[mw_shl_code=c,true]芯片为STM32F103RBT6 ,LED为PA8口 #include "stm32f10x.h" int main() { RCC->APB2ENR = 0X00000004; //io口 A的时钟使能 GPIOA->CRH = 0X00000003; //A端口配置 通用推挽输出 GPIOA->ODR = 0X00000100; //A端口输出 1 } LED灯不亮,[/mw_shl_code]

最佳答案

查看完整内容[请看2#楼]

A端口输出1是高电平,IO口是低电平LED才会亮吧?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
发表于 2015-6-18 08:23:05 | 显示全部楼层
A端口输出1是高电平,IO口是低电平LED才会亮吧?
回复

使用道具 举报

66

主题

364

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2015-6-18
在线时间
129 小时
发表于 2015-6-18 08:23:05 | 显示全部楼层
回复【8楼】有馅的馒头:
---------------------------------
 GPIOA->ODR |= ~(1<<8); //PA8输出低电平  二楼跟你说了
回复

使用道具 举报

21

主题

2205

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5141
金钱
5141
注册时间
2014-8-26
在线时间
1317 小时
发表于 2015-6-18 15:11:37 | 显示全部楼层
RCC->APB2ENR = 0X00000004;     确定这是开启的IO A的时钟
回复

使用道具 举报

9

主题

507

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3347
金钱
3347
注册时间
2013-4-10
在线时间
333 小时
发表于 2015-6-18 16:43:08 | 显示全部楼层
01 芯片为STM32F103RBT6  ,LED为PA8口
02 #include "stm32f10x.h"
03 int main()
04 {
05 RCC->APB2ENR = 0X00000004;     //io口 A的时钟使能
06 GPIOA->CRH = 0X00000003;   //A端口配置 通用推挽输出(这是用哪一却呢) 
GPIOA->CRH &= 0XFFFFFFF0;
GPIOA->CRH |= 0X00000003;
07 GPIOA->ODR = 0X00000100;   //A端口输出 1

 GPIOA->ODR |= 1<<8;    //PA8 输出高电平
 GPIOA->ODR |= ~(1<<8); //PA8输出低电平
08  
09 }
10 LED灯不亮,

这里先不说 RCC->APP2ENR = 0X00000004; 这样是不是使能了A的时钟, 这样会把会把其它的时钟置配都清零了
正确的配置应该这样写  RCC->APP2ENR |= 1<<2;
                  





回复

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2015-6-18
在线时间
0 小时
 楼主| 发表于 2015-6-19 15:12:43 | 显示全部楼层
回复【3楼】likunxue:
---------------------------------
其他的时钟配置是不是已经默认设置好了,不能动,只能这样设置?RCC->APP2ENR |= 1<<2;
回复

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2015-6-18
在线时间
0 小时
 楼主| 发表于 2015-6-19 15:20:02 | 显示全部楼层
回复【2楼】login_FAE:
---------------------------------
请问MiniSTM32这个板子要想正常工作,需要配置那几个时钟?
是不是只要配置好需要使用的外设时钟就行了?
回复

使用道具 举报

21

主题

2205

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5141
金钱
5141
注册时间
2014-8-26
在线时间
1317 小时
发表于 2015-6-19 16:06:09 | 显示全部楼层
对应外设和IO的时钟,,,,
回复

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2015-6-18
在线时间
0 小时
 楼主| 发表于 2015-6-19 16:53:25 | 显示全部楼层
回复【7楼】login_FAE:
---------------------------------
现在改成如下:
#include "stm32f10x.h"

int main()
{
RCC->APB2ENR |= 1<<2;    //io口 A的时钟使能 
GPIOA->CRH &= 0XFFFFFFF0;
GPIOA->CRH |= 0X00000003;    //A端口配置 通用推挽输出
GPIOA->ODR |= 1<<8;    //A端口输出 1

}
依然不能点亮。
回复

使用道具 举报

5

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2015-3-9
在线时间
1 小时
发表于 2015-6-19 17:06:47 | 显示全部楼层
回复【8楼】有馅的馒头:
---------------------------------
//LED端口定义
#define  led0    Aout(8)//  A8 RUN  G工作
这些你配置对了嘛
学无止境
回复

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2015-6-18
在线时间
0 小时
 楼主| 发表于 2015-6-19 17:34:56 | 显示全部楼层
回复【10楼】xiaobudonglaoshi:
---------------------------------
谢谢,真是这个原因。
回复

使用道具 举报

2

主题

10

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2015-6-18
在线时间
0 小时
 楼主| 发表于 2015-6-19 17:35:34 | 显示全部楼层
回复【4楼】xiaobudonglaoshi:
---------------------------------
谢谢,正是这个原因啊,谢谢你。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-21 02:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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