搜索

GD32 的GPIO库跟STM32 还是不同的

[复制链接]
283|12
 楼主 | 2021-1-6 13:29 | 显示全部楼层 |阅读模式
本帖最后由 hanzhen654 于 2021-1-6 13:35 编辑

1. GPIO  端口复位函数
2. GPIO  复位AFIO函数
3. GPIO 初始化函数,这个用的比较爽
4.置位和复位引脚函数
5.写引脚和写端口函数
6.读引脚和读端口函数


使用特权

评论回复
 楼主 | 2021-1-6 13:29 | 显示全部楼层
函数名称 gpio_deinit
函数原型 void gpio_deinit(uint32_t gpio_periph);
功能描述 复位外设GPIOx
例如:
/* reset GPIOA */
gpio_deinit (GPIOA);

使用特权

评论回复
 楼主 | 2021-1-6 13:30 | 显示全部楼层
函数名称 gpio_afio_deinit
函数原型 void gpio_afio_deinit(void);
功能描述 复位AFIO
例如:
/* reset alternate function */
gpio_afio_deinit();

使用特权

评论回复
 楼主 | 2021-1-6 13:31 | 显示全部楼层
函数原型 void gpio_init(uint32_t gpio_periph,uint32_t mode,uint32_t speed,uint32_t pin);
功能描述 GPIO参数初始化
例如:
/* config PA0 as analog input mode*/
gpio_init (GPIOA, GPIO_MODE_AIN, GPIO_OSPEED_50MHZ, GPIO_PIN_0);

使用特权

评论回复
 楼主 | 2021-1-6 13:32 | 显示全部楼层
函数名称 gpio_bit_set
函数原型 void gpio_bit_set(uint32_t gpio_periph,uint32_t pin);
功能描述 置位引脚值
例如:
/* set PA0*/
gpio_bit_set (GPIOA, GPIO_PIN_0);

使用特权

评论回复
 楼主 | 2021-1-6 13:33 | 显示全部楼层
函数名称 gpio_bit_reset
函数原型 void gpio_bit_reset(uint32_t gpio_periph,uint32_t pin);
功能描述 复位引脚值
例如:
/* reset PA0*/
gpio_bit_set (GPIOA, GPIO_PIN_0);

使用特权

评论回复
 楼主 | 2021-1-6 13:34 | 显示全部楼层
函数名称 gpio_bit_write
函数原型 void gpio_bit_write(uint32_t gpio_periph,uint32_t pin,bit_status bit_value);
功能描述 将特定的值写入引脚
例如:
/* write 1 to PA0*/
gpio_bit_write (GPIOA, GPIO_PIN_0, SET);

使用特权

评论回复
 楼主 | 2021-1-6 13:34 | 显示全部楼层
函数名称 gpio_port_write
函数原型 void gpio_port_write (uint32_t gpio_periph, uint16_t data);
功能描述 将特定的值写入端口
例如:
/* write 1010 0101 to Port A */
gpio_port_write (GPIOA, 0xA5);

使用特权

评论回复
 楼主 | 2021-1-6 13:36 | 显示全部楼层
函数名称 gpio_input_bit_get
函数原型 FlagStatus gpio_input_bit_get(uint32_t gpio_periph,uint32_t pin);
功能描述 获取引脚的输入值例如:
/* get status of PA0*/
FlagStatus bit_state;
bit_state = gpio_input_bit_get (GPIOA, GPIO_PIN_0);


使用特权

评论回复
 楼主 | 2021-1-6 13:36 | 显示全部楼层
函数名称 gpio_input_port_get
函数原型 uint16_t gpio_input_port_get(uint32_t gpio_periph);
功能描述 获取端口的输入值
例如:
/* get input value of Port A */
uint16_t port_state;
port_state = gpio_input_bit_get (GPIOA);

使用特权

评论回复
| 2021-2-11 16:00 | 显示全部楼层
hanzhen654 发表于 2021-1-6 13:34
函数名称 gpio_port_write
函数原型 void gpio_port_write (uint32_t gpio_periph, uint16_t data);
功能描 ...

函数原型的输入uint16_t data为16比特     例子却是0xA5,这表示是低八位为0xA5,高八位为 0吗?

使用特权

评论回复
| 2021-2-13 11:55 | 显示全部楼层
不能相信例秤

使用特权

评论回复
| 2021-2-18 14:27 | 显示全部楼层
dsq1980 发表于 2021-2-11 16:00
函数原型的输入uint16_t data为16比特     例子却是0xA5,这表示是低八位为0xA5,高八位为 0吗? ...

是的,函数里面还把这个强转成u32类型的了。 91502602e08d5b6a77.png 39709602e08e34893d.png

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表