历史上的今天
返回首页

历史上的今天

今天是:2024年09月25日(星期三)

正在发生

2019年09月25日 | stm32—GPIO操作(库函数)

2019-09-25 来源:eefocus

GPIO的8种方式


       1、浮空输入GPIO_IN_FLOATING ——浮空输入,可以做KEY识别,RX1

       2、带上拉输入GPIO_IPU——IO内部上拉电阻输入

       3、带下拉输入GPIO_IPD—— IO内部下拉电阻输入

       4、模拟输入GPIO_AIN ——应用ADC模拟输入,或者低功耗下省电

       5、开漏输出GPIO_OUT_OD ——IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。可以读IO输入电平变化,实现C51的IO双向功能

       6、推挽输出GPIO_OUT_PP ——IO输出0-接GND, IO输出1 -接VCC,读输入值是未知的

       7、复用功能的推挽输出GPIO_AF_PP ——片内外设功能(I2C的SCL,SDA)

       8、复用功能的开漏输出GPIO_AF_OD——片内外设功能(TX1,MOSI,MISO.SCK.SS)


下面是GPIO的初始化


  GPIO_InitTypeDef GPIO_InitStructure;

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能端口时钟

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;             //端口配置

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;      //推挽输出

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     //50M

  GPIO_Init(GPIOA, &GPIO_InitStructure);       //根据设定参数初始化GPIOA 


GPIO操作的函数

GPIO_SetBits(GPIOA,GPIO_Pin_0 | GPIO_Pin_1);  //设置PA0--PA1高电平

GPIO_ResetBits(GPIOA,GPIO_Pin_0 | GPIO_Pin_1);  //设置PA0--PA1低电平

GPIO_WriteBit(GPIOA,GPIO_Pin_3,1);  //设置PA3高电平

GPIO_WriteBit(GPIOA,GPIO_Pin_3,0);  //设置PA3低电平

 

GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)   //获取PA1引脚电平0或者1

推荐阅读

史海拾趣

Dawning Precision Co Ltd公司的发展小趣事

在国内市场取得一定成绩后,Dawning开始将目光投向国际市场。公司积极参加国际电子展会,与全球知名企业进行交流合作。同时,Dawning还根据不同国家和地区的市场需求,调整产品策略,推出符合当地消费者喜好的产品。经过几年的努力,Dawning的产品已经成功打入欧美、东南亚等多个国家和地区的市场,公司的国际化进程取得了显著进展。

Excelitas公司的发展小趣事

随着技术的不断成熟和市场的扩大,Excelitas公司开始寻求全球扩张。公司先后在北美、欧洲和亚洲设立了研发中心和生产基地,以更好地服务全球客户。在全球扩张的过程中,Excelitas注重本土化战略,积极与当地企业合作,共同开拓市场。这一策略不仅帮助公司快速融入当地市场,还促进了公司业务的持续增长。

Ericsson公司的发展小趣事

Ericsson公司在早期就非常注重市场拓展和全球布局。通过与各国电信运营商建立合作关系,Ericsson成功将其产品和服务推广到了全球各地。特别是在中国市场,Ericsson早在19世纪90年代就与中国签订了供货合同,成为中国通信网络建设的重要参与者。如今,Ericsson已经在中国扎根130余年,成为了唯一一家从1G到5G全程参与中国通信网络建设的企业。

Galaxy ( Bel )公司的发展小趣事

Ericsson公司始终将创新作为企业发展的核心动力。从早期生产电话机、电话交换机到今天提供端到端全面通信解决方案以及专业服务,Ericsson不断定义电信行业“进步”的含义,并通过实现每一个“进步”引领全球电信业的技术发展与变革。特别是在移动通信领域,Ericsson一直处于领先地位,为全球所有主要移动通信标准提供设备和服务。

艾迈斯(AMASS)公司的发展小趣事

艾迈斯(AMASS)公司创立之初,便专注于智能设备动力连接器领域。面对市场的激烈竞争和技术的不断更新,公司创始人凭借深厚的行业经验和前瞻性的眼光,带领团队攻克了一个又一个技术难关。他们深入市场调研,精准把握消费者需求,成功推出了一系列具有竞争力的连接器产品。这些产品不仅性能稳定、质量可靠,而且具有极高的性价比,迅速在市场上赢得了良好的口碑。

欧密格光电(Amicc)公司的发展小趣事

艾迈斯(AMASS)公司创立之初,便专注于智能设备动力连接器领域。面对市场的激烈竞争和技术的不断更新,公司创始人凭借深厚的行业经验和前瞻性的眼光,带领团队攻克了一个又一个技术难关。他们深入市场调研,精准把握消费者需求,成功推出了一系列具有竞争力的连接器产品。这些产品不仅性能稳定、质量可靠,而且具有极高的性价比,迅速在市场上赢得了良好的口碑。

问答坊 | AI 解惑

自己做个AT89S52的ISP数据线可行吗?

在不用编程器的情况下用ISP口能实现代码的下载固化,比较方便了,可没有知道这个数据线是如何做出来的,是用373还是245缓冲的好呢,还是有其他更稳定的,请大伙推荐几中方案好吗?…

查看全部问答>

强人自制磁悬浮实验,不知是什么液体?

$(\'swf_Vc7\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', encodeURI(\'http://player.youku.com/player.php/sid/XMTM3ODYzNTk2/v.sw ...…

查看全部问答>

如何把输入单片机中的程序导出?

如何把输入单片机中的程序导出?求助!!!!!…

查看全部问答>

wince5.0摄像头驱动开发问题,在线等待

      在pxa270芯片上用到OV511摄像头,BSP没提供摄像头的驱动,到pudn网下载一个,编译好dll为ov511.dll,得到镜像后,在板子上运行,插入摄像头,提示找不到驱动类型。请问,platform.bib和platform.reg按照下面添加有什么问 ...…

查看全部问答>

关于x86模拟器的问题

我想跑x86的模拟器,是不是只能用wince5.0,wince6.0要跑可能很麻烦?…

查看全部问答>

单片机--你知道哪些国产的?

近今年一直关注国产的单片机,忽然有个想法。 想把所有的国产单片机的厂家或者品牌列出来。 这样行业内朋友选型也好有参考。 毕竟只有走出来,才有可能走得好。 衷心祝愿国产单片机一路走好!…

查看全部问答>

你们了解什么公司用MSP430做产品呢

在我们国家,用51的多如牛毛,虽然没做过调查,但大家都这么说,在MCU DAY上,一个跟我坐一起的大叔,跟他聊了几句,他公司就是做51的。 但是,430呢?似乎没怎么听说。 问了好几个我认识的电子领域的朋友。(也可能他们大多跟我一样,大多是学生 ...…

查看全部问答>

AVR单片机信号采样的问题

请教各位高手,我现在是刚接触AVR单片机,现在我要测一个信号的电压与脉宽,但是该信号脉宽仅为3us,不知道AVR哪款单片机的采样频率能达到这个要求?请大家出个主意…

查看全部问答>

求教!MMA7455串口数据丢失问题。

    用MSP430将加速度传感器MMA7455的数据传到上位机,MMA7455选2g模式。出现如下两个问题:1、发现XYZ三轴读到的数和数据手册都不一样,Z轴是0到127而不是手册上的-63到63,XY轴是横跨256但也并不关于256对称。2、三个轴的加速度数据是 ...…

查看全部问答>

51单片机串口接收1602显示的问题

#include #include #define uchar unsigned char #define uint  unsigned int #define fosc 120000 #define bps 9600 /*LED_Buffer[16]用来存储串口发送的数据,com_dat用来记录串口发送的个数*/ uchar LED_Buffer[16], *q, com_ ...…

查看全部问答>