GD32固件库使用手册 (USART TIMER)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

GD32 MCU外设固件库使用手册
——基于《GD32F10x_Firmware_Library_V1.0.0》固件库
目录
目录 1
一、USART模块 (1)
4.1 USART寄存器 (1)
4.2 USART模块初始化结构体类型USART_InitPara (1)
4.3 USART模块库函数 (4)
4.4 应用实例 (4)
二、Timer定时器模块 (6)
5.1 Timer定时器寄存器 (6)
5.2 Timer定时器模块初始化结构体类型 (8)
5.2.1 TIMER_BaseInitPara初始化结构体 (8)
5.2.2 TIMER_OCInitPara初始化结构体 (9)
5.2.3 TIMER_ICInitPara初始化结构体 (10)
5.2.4 TIMER_BKDTInitPara初始化结构体 (12)
5.3 Timer定时器模块库函数 (12)
5.4 应用实例 (15)
一、USART模块
USART模块的固件库文件为gd32f10x_usart.c和gd32f10x_usart.h,包含USART模块初始化、使能、发送数据、接受数据等功能。

4.1 USART寄存器
USART模块寄存器的定义见代码清单4.1.1所示。

代码清单4.1.1 USART模块寄存器定义
USART_InitPara-> USART_STBits成员变量可从USART_STBits所定义的宏中取值,USART_STBits的宏定义如代码清单4.2.2所示。

代码清单4.2.2 USART_STBits宏定义代码
USART_InitPara-> USART_Parity成员变量可从USART_Parity所定义的宏中取值,USART_Parity的定义如代码清单4.2.3所示。

其中USART_PARITY_RESET表示无奇偶校验,
其中,USART_HARDWAREFLOWCONTROL_NONE表示不使用硬件流控制;USART_HARDWAREFLOWCONTROL_RTS表示使用RTS流控制;USART_HARDWAREFLOWCONTROL_CTS表示使用CTS流控制;
USART_HARDWAREFLOWCONTROL_RTS_CTS表示使用RTS/CTS流控制。

4.3 USART模块库函数
USART模块库函数说明如表4.3.1所示。

表4.3.1 USART模块库函数说明列表
【例4.4.1】利用USART异步通信的模块,实现串口打印的功能。

本实例主程序代码如代码清单4.4.1所示。

代码清单4.4.1 主程序代码清单
在该实例中,需要将printf()函数进行重定向,注意此时需要使用微库(MicroLIB),先具有库才可以进行重定向,在调用函数时,会优先调用用户重定向的函数。

Printf()函数重定向定义如代码清单4.4.2所示。

代码清单4.4.2 printf()函数重定向
寄存器地址映射如代码清单5.1.2所示。

代码清单5.1.2 Timer定时器寄存器地址映射
5.2 Timer定时器模块初始化结构体类型
在Timer定时器模块包含四个初始化结构体,分别为TIMER_BaseInitPara、TIMER_OCInitPara、TIMER_ICInitPara和TIMER_BKDTInitPara,具体作用和功能见表5.2.1所示。

其中,TIMER_BaseInitPara-> TIMER_CounterMode可从TIMER_Counter_Mode标识的宏定义中取值,TIMER_Counter_Mode宏定义的代码如代码清单5.2.1.2所示。

TIMER_COUNTER_UP 表示增计数模式,TIMER_COUNTER_DOWN表示减计数模式,
TIMER_COUNTER_CENTER_ALIGNED1表示中央计数模式1(中断标志位只在减计数时置位),TIMER_COUNTER_CENTER_ALIGNED2表示中央计数模式2(中断标志位只在增计数时置位),TIMER_COUNTER_CENTER_ALIGNED3表示中央计数模式3(中断标志位在增减计数模式是均置位)。

代码清单5.2.1.2 TIMER_Counter_Mode宏定义代码清单
TIMER_OCInitPara的成员变量有八个,具体说明见表5.2.2.1所示。

有效电平的极性可以通过TIMER_OCInitPara->TIMER_OCPolarity成员变量进行配置,当配置为TIMER_OC_POLARITY_HIGH表示输出极性有效电平为高电平,配置为TIMER_OC_POLARITY_LOW表示输出极性有效电平为低电平。

5.2.3 TIMER_ICInitPara初始化结构体
TIMER_ICInitPara初始化结构体的定义如代码清单5.2.3.1所示。

代码清单5.2.3.1 TIMER_ICInitPara初始化结构体定义代码
TIMER_ICInitPara初始化结构体包含五个成员变量,成员变量的说明列表见表5.2.3.1所
TIMER_ICInitPara->TIMER_ICPrescaler 的作用为对捕获输入信号进行预分配,具体可参考图5.3.2.1所示。

Timer定时器模块库函数说明见表5.2.1所示。

表5.2.1 Timer定时器模块库函数说明
【例5.4.1】利用定时器捕获比较模块输出PWM波形。

本实例主程序代码如代码清单5.4.1所示。

代码清单5.4.1 主程序代码
GPIO配置函数如代码清单5.4.3所示。

代码清单 5.4.3 GPIO配置函数。

相关文档
最新文档