stm32(野火单片机)用内存点亮小灯

1、在单片机原理图中找到LED灯,例如要让RGB灯亮绿色,即使PB0端口置低电平。

 

2、找到与PB0对应的GPIOB寄存器,最后1位即PB0,只要将此位置低电平,灯就会亮了。

 3、端口配置低寄存器GPIOx-CRL(低八位配置),每位由4位进行输入输出控制(PB0由红框圈出4位控制)

在此,我们配置其为推挽输出,速度10MHz,即最后四位为0001

4、配置时钟,找到APB2外设时钟使能寄存器

第三位为PB口的时钟

第三位 置1时钟开启

总线为AHB,要注意各寄存器的起始地址和偏移地址。

#include "stm32f10x.h"

int main(void)
{
*(unsigned int *)0x40021018 |=((1)<<3);//打开GPIOB端口的时钟
*(unsigned int *)0x40010c00 |=((1)<<(4*0));//配置I/O输出,四位控制一个口,推挽输出00,模式01                                
*(unsigned int *)0x40010c0c &=~(1<<0);//配置ODR寄存器。1左移0位,再与,将最低位置1

}

void SystemInit(void)
{

}

寄存器位置均由起始地址+偏移地址组成。

SystenInit函数是为了骗过编译器不报错。

stm32f10x.h文件是在程序文件夹中的一个.h的空文件,其实里面什么都没有。

这样烧录进单片机就能点亮绿灯了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_44828988

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值