打印

GD32 F2x 串口常用库函数

[复制链接]
1227|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hanzhen654|  楼主 | 2021-1-5 20:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hanzhen654 于 2021-1-5 21:11 编辑

大致总结以下常用的函数:
1.串口的使能与失能
2.串口的发送与接收
3.串口中断的使能与失能
4.获取串口的状态
5.设置串口的状态
6.获取串口串口中断的状态
7.设置串口串口中断的状态8.串口的配置(波特率、数据位、校验位、停止位...)
8.使能串口的发送与接收8.使能和失能USART串行红外编解码功能模块
9.配置串口DMA数据的发送与接收
...............


函数 usart_enable

函数名称 usart_enable
函数原型 void usart_enable(uint32_t usart_periph);
功能描述 使能USART/UART
例如:
/* enable USART0 */
usart_enable(USART0);




使用特权

评论回复
沙发
hanzhen654|  楼主 | 2021-1-5 20:51 | 只看该作者
函数 usart_disable
函数名称 usart_disable
函数原型 void usart_disable(uint32_t usart_periph);
功能描述 除能USART/UART
例如:
/* disable USART0 */
usart_disable(USART0);

使用特权

评论回复
板凳
hanzhen654|  楼主 | 2021-1-5 20:51 | 只看该作者
函数名称 usart_data_transmit
函数原型 void usart_data_transmit(uint32_t usart_periph, uint16_t data);
功能描述 USART发送数据功能
例如:
/* USART0 transmit data */
usart_data_transmit(USART0, 0xAA);

使用特权

评论回复
地板
hanzhen654|  楼主 | 2021-1-5 20:52 | 只看该作者
函数名称 usart_data_receive
函数原型 uint16_t usart_data_receive(uint32_t usart_periph);
功能描述 USART接收数据功能
例如:
/* USART0 receive data */
uint16_t temp;
temp = usart_data_receive(USART0);

使用特权

评论回复
5
hanzhen654|  楼主 | 2021-1-5 20:53 | 只看该作者
函数名称 usart_flag_get
函数原型 FlagStatus usart_flag_get(uint32_t usart_periph, usart_flag_enum flag);
功能描述 获取USART状态寄存器标志位
例如:
/* get flag USART0 state */
FlagStatus status;
status = usart_flag_get(USART0,USART_FLAG_TBE);

使用特权

评论回复
6
hanzhen654|  楼主 | 2021-1-5 20:54 | 只看该作者
函数名称 usart_flag_clear
函数原型 void usart_flag_clear(uint32_t usart_periph, usart_flag_enum flag);
功能描述 清除USART状态寄存器标志位
/* clear USART0 flag */
usart_flag_clear(USART0,USART_FLAG_TC);

使用特权

评论回复
7
hanzhen654|  楼主 | 2021-1-5 20:55 | 只看该作者
函数名称 usart_interrupt_flag_get
函数原型 FlagStatus usart_interrupt_flag_get(uint32_t usart_periph, uint32_t int_flag);
功能描述 获取USART中断标志位状态
例如:
/* get the USART0 interrupt flag status */
FlagStatus status;
status = usart_interrupt_flag_get(USART0, USART_INT_FLAG_RBNE);

使用特权

评论回复
8
hanzhen654|  楼主 | 2021-1-5 20:55 | 只看该作者
函数名称 usart_interrupt_flag_clear
函数原型 void usart_interrupt_flag_clear(uint32_t usart_periph, uint32_t flag);
功能描述 清除USART中断标志位状态
例如:
/* clear the USART0 interrupt enable bit status */
usart_interrupt_flag_clear(USART0, USART_INT_FLAG_RBNE);

使用特权

评论回复
9
hanzhen654|  楼主 | 2021-1-5 20:59 | 只看该作者
函数名称 usart_baudrate_set
函数原型 void usart_baudrate_set(uint32_t usart_periph, uint32_t baudval);
功能描述 配置USART/UART波特率
例如:
/* configuration USART0 baud rate value */
usart_baudrate_set(USART0, 115200);

使用特权

评论回复
10
hanzhen654|  楼主 | 2021-1-5 20:59 | 只看该作者
函数名称 usart_parity_config
函数原型 void usart_parity_config(uint32_t usart_periph, uint32_t paritycfg);
功能描述 配置USART/UART奇偶校验
* Configure USART parity */
usart_parity_config(USART0, USART_PM_EVEN);

使用特权

评论回复
11
hanzhen654|  楼主 | 2021-1-5 21:00 | 只看该作者
函数名称 usart_word_length_set
函数原型 void usart_word_length_set(uint32_t usart_periph, uint32_t wlen);
功能描述 配置USART/UART字长
例如:
/* Configure USART0 word_length */
usart_word_length_set(USART0, USART_WL_9BIT);

使用特权

评论回复
12
hanzhen654|  楼主 | 2021-1-5 21:01 | 只看该作者
函数名称 usart_stop_bit_set
函数原型 void usart_stop_bit_set(uint32_t usart_periph, uint32_t stblen);
功能描述 配置USART/UART停止位
例如:
/* Configure USART0 stop bit length */
usart_stop_bit_set(USART0, USART_STB_1_5BIT);

使用特权

评论回复
13
hanzhen654|  楼主 | 2021-1-5 21:02 | 只看该作者
函数名称 usart_transmit_config
函数原型 void usart_transmit_config(uint32_t usart_periph, uint32_t txconfig);
功能描述 USART/UART发送器配置
例如:
/* Configure USART0 transmit */
usart_transmit_config(USART0,USART_TRANSMIT_ENABLE);

使用特权

评论回复
14
hanzhen654|  楼主 | 2021-1-5 21:02 | 只看该作者
函数名称 usart_receive_config
函数原型 void usart_receive_config(uint32_t usart_periph, uint32_t rxconfig);
功能描述 USART接收器配置
/* Configure USART0 receive */
usart_receive_config(USART0, USART_RECEIVE_ENABLE);

使用特权

评论回复
15
hanzhen654|  楼主 | 2021-1-5 21:05 | 只看该作者
GD32 有一个可以设置 数据发送/接收时,设定是采用低位在前还是高位在前
函数名称 usart_data_first_config
函数原型 void usart_data_first_config(uint32_t usart_periph, uint32_t msbf);
功能描述 数据发送/接收,采用低位/高位在前
例如:
/* data is transmitted/received with the LSB first */
usart_data_first_config(USART_MSBF_LSB);

使用特权

评论回复
16
hanzhen654|  楼主 | 2021-1-5 21:07 | 只看该作者
函数名称 usart_irda_mode_enable
函数原型 void usart_irda_mode_enable(uint32_t usart_periph);
功能描述 使能USART串行红外编解码功能模块
例如:
/* enable USART0 IrDA mode */
usart_irda_mode_enable(USART0);

使用特权

评论回复
17
hanzhen654|  楼主 | 2021-1-5 21:07 | 只看该作者
函数名称 usart_irda_mode_disable
函数原型 void usart_irda_mode_disable(uint32_t usart_periph);
功能描述 除能USART串行红外编解码功能模块
/* disable USART0 IrDA mode */
usart_irda_mode_disable(USART0);

使用特权

评论回复
18
hanzhen654|  楼主 | 2021-1-5 21:09 | 只看该作者
函数名称 usart_hardware_flow_rts_config
函数原型 void usart_hardware_flow_rts_config(uint32_t usart_periph, uint32_t rtsconfig);
功能描述 配置USART RTS硬件控制流
例如:
/* configure USART0 hardware flow control RTS */
usart_hardware_flow_cts_config(USART0, USART_RTS_ENABLE);

使用特权

评论回复
19
hanzhen654|  楼主 | 2021-1-5 21:09 | 只看该作者
函数名称 usart_hardware_flow_cts_config
函数原型 void usart_hardware_flow_cts_config(uint32_t usart_periph, uint32_t ctsconfig);
功能描述 配置USART CTS硬件控制流
例如:
/* configure USART0 hardware flow control CTS */
usart_hardware_flow_cts_config(USART0, USART_CTS_ENABLE);

使用特权

评论回复
20
hanzhen654|  楼主 | 2021-1-5 21:10 | 只看该作者
函数名称 usart_dma_receive_config
函数原型 void usart_dma_receive_config(uint32_t usart_periph, uint32_t dmacmd);
功能描述 配置 USART DMA接收功能
例如:
/* USART0 DMA enable for reception */
usart_dma_receive_config(USART0, USART_DENR_ENABLE);

使用特权

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

本版积分规则

73

主题

1766

帖子

2

粉丝