一、GPIO的两大功能
通用输入输出端口GPIO具有两大功能,一种是作为一个可控的端口引脚,另外一种是通过端口映射功能连接到芯片外设。最为常用的功能是,可以作为一个可控的端口引脚,配置该引脚为输入或者输出。输出功能包括强推挽输出和开漏输出两项,当配置为强推挽输出时,用户可以对该引脚任何时刻的电平状态进行定义,高电平或者低电平,当配置为开漏输出时,此时需要外接上拉电阻才能输出高电平信号。
图为:标准 I/O 端口位的基本结构
二、使用示例
1、输出示例:
配置为推挽输出(在定义电平高低前应先进行配置初始化成功,可以用示波器看初始是否是设置的高电平或低电平)
gpio_mode_set (GPIOF, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN 6);
gpio_output_options_set (GPIOF, GPIO_OTYPE_PP, GPIO_OSPEED_50MHz, GPIO_PIN_6);
GPIO_BC (GPIOF) = GPIO_PIN_6://输出初始化设置为0
//GPIO_BOP (GPIOF) = GPIO_PIN_6://输出初始化设置为1
可以对电平状态进行设置;
gpio_bit_reset(GPIOC, GPIO_PIN_6);
gpio_bit_set(GPIOC, GPIO_PIN_6);
2、输入示例:
输入功能可以对任意时刻引脚电平状态进行查看,其中输入功能包括输入上拉、输入下拉、高阻态三种,输入上拉和输入下拉分别设定输入引脚处于高电平和低电平状态,而设置成高阻态模式时,输入引脚电平不稳定。 在输入模式下(复位后默认),输出驱动器关闭(高阻抗)。 端口引脚上的实际电压电平通过施密特触发器转换为逻辑 0 或 1,并可通过只读寄存器 Pn_IN 读取。 输入信号直接连接到外围单元的各种输入 (AltDataIn)。 从引脚到输入寄存器 Pn_IN 和AltDataIn 的输入线的功能与端口引脚是作为输入还是作为输出运行无关。 这意味着当端口处于输出模式时,引脚的电平可以由软件通过 Pn_IN 读取,或者外设可以使用引脚电平作为输入。
示例:一般输入及模拟输入配置
gpio_mode_set (GPIOF, GPIO_MODE_INPUT, GPIO_PUPD_PULLUP, GPIO_PIN 6);
unsigned char MODE Status (void)
{
unsigned char status ;
ostatus = (unsigned char) ((GPIO_ISTAT (GPIOC) >>6)&0x00000001);1/GPIO PIN6
}//检测端口的状态
gpio_mode_set (GPIOF, GPIO_MOD_ANALOG, GPIO_PUPD_NONE, GPIO_PIN 6);//模拟输入
参考及阅读文章:
电子技术(八)——GPIO
硬件工程师必看:GPIO用法大汇总
STM32的GPIO功能框图讲解
标签:输出,PIN,引脚,电平,使用,GPIO,输入 来源: https://blog.csdn.net/weixin_44006573/article/details/121329877
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。