历史上的今天
返回首页

历史上的今天

今天是:2024年08月26日(星期一)

正在发生

2018年08月26日 | STM32 寄存器点灯介绍

2018-08-26 来源:eefocus

1.说在前面:


1.对于stm32最初的认识是基于库函数的,调用一堆库函数来使得问题得到解答,但是深究库函数,最终还是对寄存器的配置


2.寄存器:就是用来存储数据的,事实上,对stm32的控制就是对32位寄存器的修改;


2.GPIO口寄存器的介绍


注:一组io口是由7个寄存器进行配置,所以


1.GPIOx_CRL:控制寄存器,控制寄存器的低16位


2.GPIOx_CRH:控制寄存器,控制寄存器的高16位


3.GPIOx_IDR:输入寄存器;(通过位选设置高低电平)


4.GPIO_ODR:输出寄存器;(通过位选设置高低电平)


5.GPIO_BSRR:端口位设置和清除寄存器


6.GPIO_BRR:端口位清除寄存器


7.GPIO_LCKR:端口位配置锁存器(不常用)


这几种寄存器的配置在前面的笔记中有着详细的介绍,这里就不赘述


https://blog.csdn.net/lzinner/article/details/79736138


3.点灯实验介绍


1.点灯就是实现IO口的高低电平的转换


过程:


1.实现io口时钟使能


 

RCC->APB2ENR|=1<<2;//

RCC->APB2ENR|=1<<5;//


2.实现io口的简单创建(init)(1.配置io口使能,2.配置io口输出的高低电平)


        //GPIOA8

GPIOA->CRH&=0XFFFFFFF0;

GPIOA->CRH|=0X00000003;

GPIOA->ODR|=1<<8;

//GPIOD2

GPIOD->CRL&=0xFFFFF0FF;

GPIOD->CRL|=0X00000300;

GPIOD->ODR|=1<<2;

3.主函数记得配置系统时钟


#include"stm32f10x.h"

#include"delay.h"

#include"led.h"

int main()

{

delay_init(72);//È·¶¨ÏµÍ³Ê±ÖÓΪ72mhz

LED_init();

while(1)

{

GPIOA->ODR=1<<8;

GPIOD->ODR=1<<2;

delay_ms(500);

GPIOA->ODR=~(1<<8);

GPIOD->ODR=~(1<<2);

delay_ms(500);

}

}

 


4.关于一些问题


1.&=


一般对某个寄存器进行刷新的时候使用该方法,


GPIOA->CRH&=0XFFFFFFF0;//将GPIOA相应位置进行初始化

2.|=


一般用于针对寄存器的某一位或者某几位进行初始化


GPIOA->CRH|=0X00000003;


推荐阅读

史海拾趣

ADI(亚德诺半导体)公司的发展小趣事

亚德诺半导体(Analog Devices Inc.,简称ADI)是一家全球领先的模拟技术公司,以下是该公司发展的五个相关故事:

  1. 公司成立与初期发展: 亚德诺半导体成立于1965年,总部位于美国马萨诸塞州。公司最初的业务主要集中在研发和生产模拟集成电路(ICs),为各种应用提供信号处理解决方案。其产品包括放大器、数据转换器、功率管理器等。

  2. 技术创新与产品推出: 亚德诺半导体在模拟领域持续进行技术创新,并不断推出具有竞争力的产品。公司在数据转换器、放大器、射频器件等方面处于领先地位,并不断扩展业务范围,涉足汽车、工业、通信等多个领域。

  3. 并购与战略合作: 亚德诺半导体通过并购和战略合作不断扩大规模和增强实力。公司先后收购了一系列企业,包括Hittite Microwave Corporation、Linear Technology Corporation等,进一步拓展了产品线和市场份额。

  4. 市场拓展与国际化发展: 亚德诺半导体积极拓展国内外市场,并实现了国际化发展。公司产品远销全球各地,与全球范围内的主要客户建立了长期合作关系。同时,公司在全球范围内设有研发中心、销售办事处和生产基地,为客户提供本地化服务和支持。

  5. 未来展望与持续发展: 亚德诺半导体将继续致力于技术创新和产品开发,加强与客户的合作,满足不断变化的市场需求。公司将继续扩大在汽车、工业、通信等领域的市场份额,并积极布局新兴市场,保持行业领先地位,实现业务的持续增长和发展。

Advanced Microelectronic Products Inc公司的发展小趣事

随着公司业务的不断发展,AMP公司意识到与国际伙伴合作的重要性。于是,公司积极寻求与国际知名企业的战略合作,通过技术交流和资源共享,共同开发新型电子产品。这些国际合作不仅提升了AMP公司的技术水平,还进一步提升了其品牌影响力和国际知名度。公司因此获得了更多海外市场的认可,实现了业务的全球化布局。

G-Two Inc公司的发展小趣事

背景:在光伏胶膜领域取得成功后,福斯特开始寻求多元化发展。

发展:公司依托在光伏材料领域的技术积累和市场优势,逐步向电子电路、锂电等新材料领域拓展。同时,公司还成立了新材料研究院,专注于新材料的研发和创新。

成果:目前,福斯特在电子电路、锂电等领域也取得了显著成绩,为公司带来了新的增长点。

智烽维(CDA)公司的发展小趣事

在超级电容器领域不断取得突破的同时,智烽维也在积极探索新的技术领域。2018年,公司成功实现了锂离子电容器的研发突破。这一成果不仅填补了公司在这一领域的空白,也为公司未来的发展开辟了新的道路。锂离子电容器以其高能量密度、高功率密度和长寿命等特点,在新能源汽车、智能电网等领域具有广阔的应用前景。

Etco Inc公司的发展小趣事

在环保意识日益增强的今天,Etco Inc公司积极响应环保号召,将环保理念融入企业发展中。公司采用环保材料和生产工艺,减少了对环境的污染和破坏。同时,Etco还积极参与环保公益活动,推动行业的可持续发展。这些举措不仅提升了企业的社会形象,也为电子行业的绿色发展树立了榜样。

HCH Co公司的发展小趣事

背景:HCH Co公司自成立以来,始终将技术创新作为企业发展的核心驱动力。在电子行业快速发展的背景下,公司投入大量资源于研发领域,成功研发出一系列具有自主知识产权的核心技术。其中,一项关于高效能电源管理芯片的突破,不仅大幅提升了电子产品的续航能力,还显著降低了能耗,赢得了市场的广泛认可。

发展:随着技术的不断成熟和市场需求的增长,HCH Co公司的电源管理芯片迅速占领市场份额,成为众多知名电子产品制造商的首选供应商。公司的技术创新不仅推动了自身业务的快速增长,也为整个电子行业的节能减排和可持续发展做出了积极贡献。

问答坊 | AI 解惑

红外学习型万能解码遥控开关及调光调速器

有需要请联系我  免费的  截止时间2009.6.28(上班了,就没时间了) [ 本帖最后由 sjl105105 于 2009-6-26 12:31 编辑 ]…

查看全部问答>

在绘制原理图时如何设置标题

在protel99绘制原理图中,要求设置标题。为什么在disign菜单option中设置标题,为什么显示不出来呢…

查看全部问答>

要下载一个设备的SDK,大家帮我看看应该下哪个

CE上开发MC3000的程序,我去MC3000下他的SDK,没有搞清楚应该下载下面的哪个. 1:Platform SDK for MC3000 v1.1 with Windows CE 5.0 Core 2:Platform SDK for MC3000 v1.1 with Windows CE 5.0 Professional 不知道这两个有什么区别. 另外还有一 ...…

查看全部问答>

74HC244内部的三态门是如何实现缓冲和驱动的?

我在用proteus做LPC2132的串口通信仿真时,外接一个虚拟终端和示波器,用示波器来查看数据发送的波形 当把示波器和虚拟终端接在一起然后连到Txd0 Rxd0上时,虚拟终端上面不能显示LPC2132发过来的数据,但是示波器可以看到LPC2132串口数据发送的波 ...…

查看全部问答>

LabVIEW关于定时的研究

1.如果想实现定周期While循环时,需要用Wait(ms).vi而不是Wait Until Next ms Multiple.vi2.Wait(ms).vi在与代码并行时可以保证整个运行时间为设定值,这个功能一般都会以为是Wait Until Next ms Multiple.vi的特性3.Wait Until Next ms Multipl ...…

查看全部问答>

FPGA设计中的异步信号处理

        近来一直在学习在fpga如何进行异步信号的处理,有一些心得,开个贴,把自己的一些体会贴出来,跟大家分享,也期待可以得到高手的指点。       目录如下:  &n ...…

查看全部问答>

IAR中如何在执行main()之间关闭看门狗

IAR中如何在执行main()之间关闭看门狗?论坛上有人问,但是说的不具体。不知道怎么弄。会的告诉一下,谢谢! …

查看全部问答>

基础的LED灯和数码管同时点亮的问题

如题,我在练习的时候遇到了一个可能比较基本的问题:不通过定时器,只写一个delay函数来实现LED灯的闪烁和数码管的点亮。 我自己用这种方式写的(8个LED闪烁,点亮2个数码管),无法实现上述功能。LED能闪烁,但是两位数码管中的第一位不能稳定显 ...…

查看全部问答>

1602取字模软件及其设置

看到论坛里面有用1602显示汉字的,很好奇,也整弄了下 找了个区模的软件,能很好的取模,共享给大家 第一步:先新建一个 x*y  的模; 第二步:自己一个点点自己点; 第三步:使字模左右翻转下; 第四部:设置(看图片) 第五部: ...…

查看全部问答>