历史上的今天
返回首页

历史上的今天

今天是:2024年09月10日(星期二)

正在发生

2019年09月10日 | STM32用寄存器点亮LED灯

2019-09-10 来源:eefocus

寄存器:实际上就是cpu里面的东西 每个单元都有不一样的功能,根据功能给这些存储单位取别名,这个别名就是我们所说的寄存器。

寄存器的映射:给寄存器分配地址的过程就叫作寄存器的映射。


新建工程:

新建工程需要手动创建main.c

.h(头文件)头文件:寄存器的映射

如何写寄存器的映射:

首先找到需要控制外设的IO口,根据这个IO口去寄存器组织架构寻找需要控制外设的IO口在哪里基地址是什么,然后再看需要控制外设的IO口的偏移地址。该IO口的地址就是基地址+偏移地址

**端口的地址在编译器看来只是个地址所以必须强制转换成指针(*unsigned int)+地址

通过控制io口的高低电平去实现我们想要的功能(通用io口(GPIO))


修改寄存器位的操作方法:

//直接操作会把寄存器的32位都操作了,用下面的方法就可以操作你想操作的位

对某位清零,对某几位清零[a &=~(1<<3)]/[a &=~(3<<2*2)]

对某位进行赋值[a |=(1<<3)]

对某位进行取反[a ^=(1<<3)]


GPIO的输出初始化顺序


GPIO是输入、通用输出、复用功能还是模拟输入(模式寄存器 MODER)

如果是输出还要确定是推挽输出还是漏极输出(输出类型寄存器 OTYPER)

配置输出的速度(输出速度寄存器 OSPEEDR)

输出时要不要开启上下拉电阻(上拉/下拉寄存器 PUPDR)

具体输出内容(置位复位寄存器BSRR和数据输出寄存器ODR)

//复位就是清零,置位就是置1

用寄存器点亮LED灯:

(查手册,看地址:

GPIOH 基地址为0x4002 1C00

GPIOH的外设时钟RCC基地址为0x40023800)

1.查看原理图在这里插入图片描述

2.STM32中的每个外设时钟都是关闭的,由RCC统一控制

RCC_AHB1ENR地址为(0x40023800 +0X30)

控制GPIOH的外设时钟在第七位

为1时使能在这里插入图片描述在这里插入图片描述在这里插入图片描述

3. STM32和STC89C51单片机不一样。STM32还需控制IO口,定义XX为输出端口

有一个MODER寄存器(模式寄存器)控制io的输入或者是输出

GPIOH_MODER地址(0x40021C00+0x00)

选择00通用输出模式在这里插入图片描述在这里插入图片描述在这里插入图片描述

4. 确定输出类型(OTYPER)

//推挽输出

输出1

GPIOH_OTYPER 地址(0x4002 1C00+0x4)

在这里插入图片描述在这里插入图片描述在这里插入图片描述

5.配置输出速度(OSPEEDR)

//配置输出速度为2M

输出00

GPIOH_OSPEEDR地址(0x4002 1C00+0x08)

在这里插入图片描述在这里插入图片描述在这里插入图片描述

6.输出要不要上拉电阻

//不要上拉电阻

输出00

地址(0x4002 1C00+0x0C)在这里插入图片描述在这里插入图片描述在这里插入图片描述

7. 让PH10输出低电平,点亮led灯(也可以通过控制GPIO端口置位/复位寄存器下次再写)

地址(0x4002 1C00+0x14)在这里插入图片描述在这里插入图片描述

————————————————————————————————————————————————————————————————————

点亮其他灯和点亮红灯的方法一样的

点亮一绿灯的代码如下:

在这里插入图片描述

流水灯

在这里插入图片描述


推荐阅读

史海拾趣

DALLAS公司的发展小趣事

随着全球电子市场的不断扩大和变化,Dallas公司积极实施全球化战略布局。公司在全球范围内设立研发中心和生产基地,以便更好地服务全球客户。同时,Dallas公司还加强与国际知名企业的合作与交流,共同推动半导体技术的创新和应用。这种全球化战略布局不仅增强了Dallas公司的国际竞争力,也为公司的长期发展提供了广阔的空间。

Caliber公司的发展小趣事

随着电子行业的全球化趋势日益明显,Caliber公司积极实施国际化战略,拓展海外市场。公司通过与国外知名企业的合作,引进先进的技术和管理经验,不断提升自身的竞争力。同时,Caliber还积极参加国际电子展会和论坛,加强与国际同行的交流与合作。这些举措不仅为公司带来了更多的商业机会,也提升了Caliber在国际上的知名度和影响力。

HTC Korea(TAEJIN Technology )公司的发展小趣事

在HTC的发展历程中,与微软的合作无疑是重要的一环。早在2002年,微软联合HTC推出了全球第一台搭载Windows mobile的Pocket PC,这一操作系统成为了日后WP 8的前身。得益于微软的信任和支持,HTC能够率先搭载最新的Windows mobile系统,从而成为Windows手机的顶级生产商。这种紧密的合作关系不仅提升了HTC的品牌影响力,还为其带来了大量的市场份额和利润。

Fine Products Microelectronics Corp公司的发展小趣事

HTC Korea(前身为TAEJIN Technology Co., Ltd.)成立于2000年,最初以Linear IC产品的研发及生产为主,逐步在通信、消费类及PC等应用领域稳步发展。然而,公司的真正突破发生在2006年,这一年HTC决定从OEM代工厂转型为自主品牌制造商。这一转型并非易事,面临着合作伙伴转变为竞争对手的风险,导致股价一度暴跌。但HTC坚持下来,推出了HTC Touch和HTC Diamond等经典机型,成功吸引了市场的关注,股价逐渐回升,最终奠定了其在手机市场的重要地位。

Defender Security公司的发展小趣事

物联网技术的快速发展为网络安全带来了新的挑战和机遇。Defender Security公司积极应对这一变化,加大了对物联网安全领域的投入。他们与多家物联网企业合作,共同研发了适用于物联网设备的安全防护方案。通过不断优化和升级产品,Defender Security成功帮助物联网企业解决了安全问题,同时也为自己带来了新的增长点。

Black Box Corporation公司的发展小趣事

在数字化时代,通信技术的更新换代速度极快。为了保持竞争优势,Black Box不断投入研发,推出了一系列创新产品和技术。例如,公司研发了一款智能网络管理平台,能够实时监控网络状态并进行故障预警。这一技术创新大大提高了网络的稳定性和安全性,赢得了客户的广泛好评。

问答坊 | AI 解惑

FPGA设计流程简介及设计注意事项

FPGA设计流程简介及设计注意事项…

查看全部问答>

小功率mi-ni电脑插电时,偶然不能开机

在小功率电脑开机时,先插入Adapter,在按开机键,怎么有时会开不了机?是电源问题吗?高手帮忙给点意见,谢谢!!!!…

查看全部问答>

[教训分享] 一分钱的疏忽造成数万元的损失

声明:这是别人的帖子,看了颇有感触,故转帖于此。 电子设计中,细节问题往往会导致严重的后果,所以我们一定要注意细节, [教训分享] 一分钱的疏忽造成数万元的损失 小弟去年给外面公司设计了一台智能型阀门伺服控制器,在本地几个小站现场工作都 ...…

查看全部问答>

【EEWORLD带你DIY】示波器V2.0信号板及人机界面板打样归来~~

活动介绍:使用Altera Cyclone III FPGA Stater 进行DIY示波器进程: https://www.eeworld.com.cn/zhuanti/20100703altera/20100703altera.html   信号板及人机界面板打样归来,上图     …

查看全部问答>

EVC用TransparentBlt函数显示透明位图问题

大家帮忙看一下,结果不是透明位图,错误在哪里?多谢! void CPituceDlg::OnPaint() {    CPaintDC dc(this); // device context for painting             // TODO: add draw code for native da ...…

查看全部问答>

一个简单程序(UART),不晓得问题出在那里,请大家帮哈忙!

以下代码是UART0操作:收到上位机的字符然后转送回去。结果是能收到,但是是错误的,如发 01 收到 C0,请大家看看是那里出错了,小弟刚开始用430。 /**************************************************** 说明:串口测试程序 波特率:9600bps ...…

查看全部问答>

生活在职场中的白领必须警惕的职场禁语

生活在职场中,你会发现到处都潜伏着危机,尤其是你的嘴,稍不留意或许“祸”就从口出了,那么如何在办公室中避免不必要的麻烦,这些禁语你必须知道哦: 禁语一:薪水问题 很多公司不喜欢职员之间打听薪水,因为同事之间工资往往有不小差 ...…

查看全部问答>

Hercules DIY 五:对中断的疑感

Hercules DIY 五:对中断的疑感                                按照计划这周应是解决程序,由于我的项目是报警器我想用管脚中 ...…

查看全部问答>

数字电路

本帖最后由 paulhyde 于 2014-9-15 03:32 编辑 对于想要学好数电的 就来看看吧    …

查看全部问答>

印制电路板设计经验分享

  对于电子产品来说,印制线路板设计是其从电原理图变成一个具体产品必经的一道设计工序,其设计的合理性与产品生产及产品质量紧密相关,而对于许多刚从事电子设计的人员来说,在这方面经验较少,虽然已学会了印制线路板设计软件,但设计出的印制 ...…

查看全部问答>