普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 4515|回复: 30

刚入坑新手求解答_寄存器点亮LED

[复制链接]

2

主题

4

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2020-6-19 17:01:56 | 显示全部楼层 |阅读模式

如图所示,为什么LED2小灯不闪不亮,刚入坑新手求解答
回复

使用道具 举报

27

主题

337

帖子

3294

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3294
发表于 2020-6-20 08:29:27 | 显示全部楼层
将代码贴出来,大家也好帮你看
回复 支持 反对

使用道具 举报

2

主题

4

帖子

16

积分

新手上路

Rank: 1

积分
16
 楼主| 发表于 2020-6-20 11:25:06 | 显示全部楼层
admin 发表于 2020-6-20 08:29
将代码贴出来,大家也好帮你看

#include "stm32f10x.h"

typedef unsigned int u32;

void SystemInit()
{
       
}

void delay(u32 i)
{
        while(i--);
}

int main()
{
                RCC_APB2ENR |= (1<<4);                                 //&iquest;&ordf;&AElig;&ocirc;GPIOC&para;&Euml;&iquest;&Uacute;&Ecirc;&sup1;&Auml;&Uuml;&Ecirc;±&Ouml;&Oacute;
                GPIOC_CRL &= ~(0x0f <<(4*0));
                GPIOC_CRL |= (3<<(4*0));
               
//                GPIOC_BSRR =(1<<(16+0));                        //&micro;&atilde;&Aacute;&Aacute;LED1
//                GPIOC_BSRR =(1<<(16+1));                        //&micro;&atilde;&Aacute;&Aacute;LED2
               
//                GPIOC_ODR =0x01;
               
                while(1)
                {
                        GPIOC_BSRR =(1<<(16+0));        //&micro;&atilde;&Aacute;&Aacute;LED1
                        delay(0xfffff);       
                        GPIOC_BSRR =(1<<(0));                        //&Iuml;¨&Atilde;&eth;LED1
                        delay(0xfffff);
                        GPIOC_BSRR =(1<<(16+1));        //&micro;&atilde;&Aacute;&Aacute;LED2
                        delay(0xfffff);
                        GPIOC_BSRR =(1<<(1));                        //&Iuml;¨&Atilde;&eth;LED2
                        delay(0xffff);

                }
//        return 0;
}
回复 支持 反对

使用道具 举报

2

主题

4

帖子

16

积分

新手上路

Rank: 1

积分
16
 楼主| 发表于 2020-6-20 11:25:44 | 显示全部楼层
admin 发表于 2020-6-20 08:29
将代码贴出来,大家也好帮你看

代码贴上了,老哥,很简单的寄存器控制
回复 支持 反对

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2020-6-30 23:56:19 | 显示全部楼层
同问。。程序编译未报错,也可以下载进去,显示已运行,但是LED不亮
回复 支持 反对

使用道具 举报

27

主题

337

帖子

3294

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3294
发表于 2020-7-2 08:40:15 | 显示全部楼层
ljf12345 发表于 2020-6-20 11:25
代码贴上了,老哥,很简单的寄存器控制

int main()
{
        RCC_APB2ENR |= 1<<4;
        GPIOC_CRL &= ~( 0x0F<< (4*1));
        GPIOC_CRL |= (3<<4*1);
        GPIOC_BSRR=(1<<(16+1));
        while(1)
        {
                GPIOC_BSRR=(1<<(16+1));
                delay(0xFFFFF);
                GPIOC_BSRR=(1<<(1));
                delay(0xFFFFF);
        }
}
回复 支持 反对

使用道具 举报

1

主题

3

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2020-7-9 21:09:12 | 显示全部楼层
公西华 发表于 2020-6-30 23:56
同问。。程序编译未报错,也可以下载进去,显示已运行,但是LED不亮

老哥,你的问题解决了嘛?我也碰到这种情况;
回复 支持 反对

使用道具 举报

0

主题

1

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2020-8-15 20:37:42 | 显示全部楼层
看看stm32f10x.h头文件配置是否正确,值得一提的是,AHB在《参考手册》中的起始地址是0x40018000(SDIO的地址),但是在标准库中的起始地址是0x40020000(DMA1外设),按后面这个地址进行设置才能正常点亮LED灯,希望能帮到你
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-4-28 01:43 , Processed in 0.102227 second(s), 33 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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