打印
[STM32F4]

GPIO的两大功能

[复制链接]
257|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ym0sly|  楼主 | 2022-11-26 19:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
GPIO, IO, gp, pi
通用输入输出端口GPIO具有两大功能,一种是作为一个可控的端口引脚,另外一种是通过端口映射功能连接到芯片外设。最为常用的功能是,可以作为一个可控的端口引脚,配置该引脚为输入或者输出。输出功能包括强推挽输出和开漏输出两项,当配置为强推挽输出时,用户可以对该引脚任何时刻的电平状态进行定义,高电平或者低电平,当配置为开漏输出时,此时需要外接上拉电阻才能输出高电平信号。
图为:标准 I/O 端口位的基本结构



使用特权

评论回复
沙发
ym0sly|  楼主 | 2022-11-26 19:26 | 只看该作者
使用示例
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);

使用特权

评论回复
板凳
ym0sly|  楼主 | 2022-11-26 19:26 | 只看该作者
输入示例:
输入功能可以对任意时刻引脚电平状态进行查看,其中输入功能包括输入上拉、输入下拉、高阻态三种,输入上拉和输入下拉分别设定输入引脚处于高电平和低电平状态,而设置成高阻态模式时,输入引脚电平不稳定。 在输入模式下(复位后默认),输出驱动器关闭(高阻抗)。 端口引脚上的实际电压电平通过施密特触发器转换为逻辑 0 或 1,并可通过只读寄存器 Pn_IN 读取。 输入信号直接连接到外围单元的各种输入 (AltDataIn)。 从引脚到输入寄存器 Pn_IN 和AltDataIn 的输入线的功能与端口引脚是作为输入还是作为输出运行无关。 这意味着当端口处于输出模式时,引脚的电平可以由软件通过 Pn_IN 读取,或者外设可以使用引脚电平作为输入。

使用特权

评论回复
地板
ym0sly|  楼主 | 2022-11-26 19:28 | 只看该作者
示例:一般输入及模拟输入配置

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);//模拟输入

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

161

帖子

1

粉丝