历史上的今天
返回首页

历史上的今天

今天是:2024年09月05日(星期四)

正在发生

2019年09月05日 | STM32F103程序设计-5-控制引脚高低电平的实现

2019-09-05 来源:eefocus

控制引脚高低电平的实现


开发板上可以通过控制引脚高低电平的实现功能的模块:蜂鸣器、LED灯。


一.GPIO操作步骤:


1.GPIO对应时钟打开


2.设置GPIO的引脚、速度、输出模式等参数


3.引脚输出0或1


给PB5置1的方法的方法有两种:


GPIOB -> BSRR = 0x0020;


GPIOB -> BSRR |= ( 1<<5);(优点,只修改某一位)


给PB5清0的方法的方法有两种:


GPIOB -> BSRR = 0x0000;


GPIOB -> BSRR &= ~( 1<<5); (优点,只修改某一位)


二.熟悉相关寄存器及寄存器版实现输出电平的控制:


1.GPIOB在APB2上,使用的是APB2上的时钟,RCC模块有多个寄存器,刚刚用到的是RCC_APB2ENR寄存器。


RCC->APB2ENR |= (1<<3);


要注意RCC后面的APB2ENR在哪里定义的,要能找到。


2.端口配置低寄存器GPIOB_CTL,端口配置高寄存器GPIOB_CTH


要把20-23位变为1100,可以先让4位都为0,然后让20-21变为11。


GPIOB->CRL &= ~((1<<20) | (1<<21) | (1<<22) |(1<<23));


GPIOB->CRL |= (1<<20) | (1<<21);


3.控制PB5为高


GPIOB -> BSRR |= ( 1<<5);


寄存器版编程用于标准库函数解决不了特定问题时来使用的。


推荐阅读

史海拾趣

E-T-A Circuit Breakers公司的发展小趣事

自1970年代起,E-T-A公司开始积极拓展全球市场,逐渐在国际上建立了知名度。公司设立了多个分支机构和办事处,覆盖了全球60多个国家,为当地客户提供优质的销售和技术支持。这一举措不仅增强了公司的国际竞争力,也为其在全球范围内推广先进的电路保护技术提供了有力支持。

AIRPAX公司的发展小趣事

近年来,随着数字化技术的快速发展,AIRPAX也开始积极探索数字化转型之路。公司加大了对智能化、自动化生产线的投入,提高了生产效率和质量。同时,AIRPAX还积极利用大数据、云计算等先进技术,对客户需求和市场趋势进行深入分析,以更好地满足客户需求并推动创新发展。

这些故事只是AIRPAX发展历程中的一部分,它们展示了AIRPAX如何在技术、市场、环保和创新等多个方面取得了显著成就。然而,随着电子行业的不断发展和竞争的加剧,AIRPAX仍需继续努力,以保持其在电气保护领域的领先地位。

FINDER公司的发展小趣事

进入21世纪,AIRPAX开始积极拓展全球市场。通过与各国企业的合作与交流,AIRPAX的产品逐渐进入欧洲、亚洲等地区,服务于更多国家的客户。同时,AIRPAX还积极寻求与其他行业领先企业的战略合作,共同推动电气保护技术的发展。这些合作不仅提升了AIRPAX的品牌影响力,也为其带来了更多的商业机会。

G-Mag Usa公司的发展小趣事

进入21世纪后,G-Mag意识到单一产品线难以满足市场多元化需求,于是开始实施并购扩张战略。2005年,G-Mag成功收购了国内一家领先的电子元器件制造商,这次收购不仅增强了G-Mag在供应链上的控制力,还为其带来了丰富的产品线和技术储备。随后几年,G-Mag又陆续完成了对多家在传感器、无线通信等领域具有优势企业的并购,逐步构建起了一个覆盖电子产业链上下游的庞大帝国。通过并购,G-Mag不仅实现了业务的快速增长,还巩固了其在电子行业中的领先地位。

Conditioning Semiconductor Devices Corp公司的发展小趣事

随着半导体行业的竞争加剧,价格战和技术更新速度不断加快。CSDC面临着巨大的市场压力。为了应对这些挑战,公司决定调整战略,专注于高端市场的开发。通过加大研发投入,提升产品质量和性能,CSDC逐渐在高端市场站稳了脚跟,实现了业务的稳步增长。

EDO Corp公司的发展小趣事

随着科技的不断进步,电子行业也在不断变化。Eclipse Magnetics深知,只有不断创新才能保持竞争力。因此,公司不断加大研发投入,积极探索新的技术方向。同时,公司还面临着来自全球竞争对手的挑战。然而,Eclipse Magnetics凭借其强大的研发实力和品牌影响力,始终保持着领先地位。

以上故事均基于Eclipse Magnetics在电子行业中的发展历程进行概括性描述,具体细节可能因实际情况而有所不同。

问答坊 | AI 解惑

从网上Down的程序疑问,求解

从网上Down的程序疑问,求解 CD4094驱动程序 CD4094用的比较广...可以用在静态显示...串口转并口...驱动数码管LED等... 程序... #include #include #define uint  unsigned int #define uchar unsigned char /* sbit K1  ...…

查看全部问答>

关于话题混乱的讨论

现在很多版块,打开一看大多都是资料下载。我们这个论坛又不是资料下载论坛,这样严重影响了大家讨论的积极性,希望能把资料下载和讨论分开。让大家讨论的更热烈…

查看全部问答>

大家讨论一下各自NandFlash里面有些什么数据,他们是怎么分布的,被这个问题难住了!

大家讨论一下各自NandFlash里面有些什么数据,他们是怎么分布的,被这个问题难住了!…

查看全部问答>

VS2005 IDE里面的Target/Remote Tools/System Information菜单不能用,有没解决的好办法?我想随时知道我自己的程序跑起

VS2005 IDE里面的Target/Remote Tools/System Information菜单不能用,有没解决的好办法?我想随时知道我自己的程序跑起来后的系统内存状态!…

查看全部问答>

帮我看看这个自作并口isp编程器的原理图?

帮我看看这个图里面的R1,R2是对应哪两个引脚?是不是R1——P3.0(RXD),R2——P3.1(TXD)? …

查看全部问答>

请问关于Enfora GSM0308 GPRS的问题?

各位大侠:     我使用了Enfora提供的GSM0308 GPRS开发板,通过超级终端与开发板通信,可以发送AT命令了, 但是我不知道怎样才能建立一个GPRS连接。我手上有可以上网的SIM卡,但是不知道GPRS设置过程, 请各位大侠帮忙!谢谢!…

查看全部问答>

做为大学生怎么学好单片机编程

有哪位高手或者学长能告诉我如何学好单片机编程啊?应该怎么学习最好啊 …

查看全部问答>

在PC上接入多个相同的usb设备,第二个设备提示安装驱动,为什么?

我在PC上接入两个相同的usb设备,通常usb端口可以提供500ma的电流,我接的设备耗电都小于这个值,但是在接入第二个设备时,总是提示安装驱动,或者干脆无法识别。 我在同事的新机箱上试验,他的机器可以,但是我的不行,不知道这种现象除了更换机 ...…

查看全部问答>

请教ARM CPU响应IRQ中断以及处理,返回的细节问题

程序运行在SVC模式,突然发生了IRQ,会发生什么事情? (1)CPU会自动把CPSR保存到SPSR_IRQ中 (2)然后把PC保存到R14_IRQ (3)然后把CPSR中的模式位强制设置为IRQ模式 (4)然后把PC强制设置为0x18 我理解的对么? 那么,IRQ处理程序怎么写,是不是要完 ...…

查看全部问答>

如何使STM32进行USB传输时提高传输速度?还请大家不吝赐教啊

    最近一直在学习USB,总算是稍微有点懂了。现在自己写的PC端USB驱动程序和应用程序终于可以成功实现STM32的BULK /INT传输和有数据/无数据传输控制请求等功能(STM32固件的程序我是用STM32 USB开发工具包中的 ...…

查看全部问答>