在配置STM32外设的时候,任何都要先使能该外设的时钟!PB2ENR 是 APB2总线上的外设时钟使能寄存器
我们要使能的PORTA和PORTD的时钟使能位,分别在的时钟使能位,分别在bit2和bit5,只要将这两位置1就可以使能PORTA和PORTD了
STM32的每个IO端口都有7个寄存器来控制。
他们分别是:配置模式的2个32位的端口配置寄存器 CRL 和 CRH;2个32位的数据寄存器IDR 和 ODR ;1个32位的置
复位寄存器 BSRR ;一个 16 位的复寄存器 位的复寄存器 BRR ;1个 32 位的 锁存 寄存器 LCKR ;
这里我们仅介绍常用 的 几个寄存器,我们常用的 IO 端口寄存器只有 4个: CRL 、CRH、IDR 、ODR。
每组IO口一共有16个,CRH控制着高8个IO口,CR控制着高低8个IO口;
具体配置模式如下:
这里我们可以记住几个常用的配置,比如 0X0表示模拟输入模式( ADC 用)、 0X3 表示推挽输出模式(做输出口用, 50M 速率)、 0X8 表示上 /下拉输入模式(做输入口用)、 0XB表示复用输出(使IO 口的第二功能, 50M 速率)。
IDR 是一个端口输入数据寄存器,只用了低 16 位。该寄存器为只读,并且能以 16 位的形式读出。
要想知道某个IO口的状态,你只要读这个寄存器,再看某位的状态就可以了。
ODR 是一个端口输出数据寄存器,只用了低 16 位。该寄存器为可读写,并且能以 16 位的形式读写。
要想控制某个IO口的输出状态。而向该寄存器写数据,则可以控制某个IO口的输出电平
//PC11输出高
上一篇:stm32之IO操作(基于库函数)
下一篇:STM32—HAL库中GPIO相关函数解析
推荐阅读
史海拾趣
EUPEC,全称欧洲电力半导体与电子公司(European Semiconductors and Electronics Company),成立于1990年。它是由西门子和德国另一家大型电器公司AEG生产电力半导体器件的两个部门合并而成。这次合并标志着EUPEC正式进入电力半导体领域,凭借其强大的技术背景和丰富的行业经验,EUPEC迅速在市场中占据了一席之地。
Capax Technologies Inc在市场定位和产品策略上表现出色。公司深入调研市场需求,发现高端电子设备市场对于高性能、高可靠性的组件有着旺盛的需求。于是,Capax Technologies Inc将产品定位为高端市场,专注于研发和生产高品质的电子组件。通过精准的市场定位和优质的产品,Capax Technologies Inc迅速在高端市场中占据了一席之地。
近年来,大陆集团在特种商用车胎领域也取得了重要突破。2014年,大陆集团在亚洲国际物流技术与运输系统展览会上发布了一款全新的产品——SC8特种商用车胎。这款产品是专门针对亚洲物料搬运业而开发出来的,适用于仓库、饮料业、造纸业等多个行业。SC8轮胎具备超深的轮胎花纹和极佳的性能,为物料搬运业提供了更高效、更安全的解决方案。这一产品的推出进一步巩固了大陆集团在商用车胎领域的市场地位。
2016年,Atmel被美国芯片制造商Microchip以35.6亿美元收购。这一收购事件标志着Atmel发展史上的一个重要转折点。在被收购后,Atmel成为了Microchip的一部分,继续发挥其在微控制器领域的优势,同时也获得了Microchip在技术支持、市场渠道等方面的强大支持。这使得Atmel能够更快地推出新产品、拓展新市场,进一步巩固其市场地位。
华铭智能是一家在ETC领域具有深厚技术积累的企业。为了推动ETC行业的发展,华铭智能积极寻求跨界合作的机会。公司与多家汽车制造商、智能交通系统提供商等建立了紧密的合作关系,共同研发和推广ETC技术。通过跨界合作,华铭智能不仅拓展了自身的业务范围,还推动了ETC技术在更多领域的应用。
Einfochips公司一直致力于嵌入式系统的创新与发展。在某一时期,该公司推出了Eragon600,一款基于Qualcomm Snapdragon 600处理器的全新嵌入式开发平台。这一平台的推出,标志着Einfochips在嵌入式系统开发领域取得了重要突破。Eragon600不仅具备强大的处理能力,还适用于多种行业,包括工业、安全与监控、信息、娱乐等。在多个领域的广泛应用,进一步巩固了Einfochips在嵌入式系统开发领域的领先地位。
所谓TCS就是TractionControlSystem循迹控制系统的缩写,是根据驱动轮的转数及传动轮的转数来判定驱动是否发生打滑现象,当前者大于后者时,进而抑止驱动轮转数的一种防滑控制系统。 在一部四轮驱动车上,循 ...… 查看全部问答∨ |
产品介绍: DT-1型液体在线密度变送器是我公司自主研发的高科技项目,填补了国内在液体密度测试方面的一项空白。该产品利用电容差压传感器以及与其相连的一对压力中继器之间有一集成精密温度传感器和一个专用软件计算密度显示介质的温度和密度两个 ...… 查看全部问答∨ |
#include<reg51.h> #define uint unsigned int #define uchar unsigned char uchar code tab[]={0xee,0xed,0xeb,0xe7, ...… 查看全部问答∨ |
|
请教一下,一个单片机的普通IO口能否直接和另一个单片机的RXR,TXD脚相连进行数据传输?同型号例如89C51的P1口中的两个脚连另一个89C51的RXD,TXD脚是否可以直接相连?如果电平要求不同用分压电阻改变电平后是否可以直接连接?请高手指点,谢谢了!… 查看全部问答∨ |
请教,好好的S3C2410板复位后白屏,进不了wince系统 新人,买了板realarm S3C2410板学习,由于不懂,没有成功让开发板连不上电脑通信(usb和com口都不行) 按招说明在用光盘的\\winceboot\\WriteByUsb\\下的cebios.bat、ceboot.bat、dnw.exe乱弄了几次后, 复位开发板就不了白屏,进不了WINCE,但能 ...… 查看全部问答∨ |
瀚霖生物生化千龙酸亿元瀚霖生物生物重要内容,措施措施生物生物生物山东产品,山东生物尼龙生物技术产业产品贷款。科技贷款报告产值二元产业瀚霖生物,酸技术生产万吨生产山东增加,生物酸商务战略万吨瀚霖生物生产。自主化工计划书汽车产品瀚霖生 ...… 查看全部问答∨ |
protell99se如何修改rule,来减小splitplane边界和via最小距离? 各位前辈,小子接触PCB不久,有一个问题求助 我在GND层用splitplane画出一块地作为AGND,在这片区域上的 AGND过孔 均与之相连,但是有几个位于splitplane边界的AGND过孔,DRC报错说与GND短路。。。我分析是距离边界过近,于是把报错的via移到距离 ...… 查看全部问答∨ |
我的开发环境是vs2005,已经安装了带有dsplink的sdk。 现在我想在开发wince6.0程序时使用dsplink的api,应该怎么配置vs2005? ps:之前我是这样配的,添加dsplinkk.lib 在文件里include dsplink.h 然后就编译,就编译出错,说什么M ...… 查看全部问答∨ |