打印

GD32 的GPIO库跟STM32 还是不同的

[复制链接]
978|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 hanzhen654 于 2021-1-6 13:35 编辑

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


使用特权

评论回复
沙发
hanzhen654|  楼主 | 2021-1-6 13:29 | 只看该作者
函数名称 gpio_deinit
函数原型 void gpio_deinit(uint32_t gpio_periph);
功能描述 复位外设GPIOx
例如:
/* reset GPIOA */
gpio_deinit (GPIOA);

使用特权

评论回复
板凳
hanzhen654|  楼主 | 2021-1-6 13:30 | 只看该作者
函数名称 gpio_afio_deinit
函数原型 void gpio_afio_deinit(void);
功能描述 复位AFIO
例如:
/* reset alternate function */
gpio_afio_deinit();

使用特权

评论回复
地板
hanzhen654|  楼主 | 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);

使用特权

评论回复
5
hanzhen654|  楼主 | 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);

使用特权

评论回复
6
hanzhen654|  楼主 | 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);

使用特权

评论回复
7
hanzhen654|  楼主 | 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);

使用特权

评论回复
8
hanzhen654|  楼主 | 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);

使用特权

评论回复
9
hanzhen654|  楼主 | 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);


使用特权

评论回复
10
hanzhen654|  楼主 | 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);

使用特权

评论回复
11
dsq1980| | 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吗?

使用特权

评论回复
12
wziyi| | 2021-2-13 11:55 | 只看该作者
不能相信例秤

使用特权

评论回复
13
小凡凡丶| | 2021-2-18 14:27 | 只看该作者
dsq1980 发表于 2021-2-11 16:00
函数原型的输入uint16_t data为16比特     例子却是0xA5,这表示是低八位为0xA5,高八位为 0吗? ...

是的,函数里面还把这个强转成u32类型的了。

使用特权

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

本版积分规则

73

主题

1766

帖子

2

粉丝