银杏科技有限公司旗下技术文档发布平台 | |||
技术支持电话 | 0379-69926675-801 | ||
技术支持邮件 | Gingko@vip.163.com | ||
版本 | 日期 | 作者 | 修改内容 |
---|---|---|---|
V0.1 | 2020-11-06 | gingko | 初次建立 |
(1)GD32时钟源分以下五类:
(2)系统时钟SYSCLK可来源于:HSI振荡器时钟、HSE振荡器时钟、PLL时钟。
SysTick定时器有4个寄存器,分别为:
在使用SysTick产生定时的时候,只需要配置CTRL、LOAD、VAL三个寄存器,CALIB校准寄存器不需要配置(出厂时已校准好),寄存器介绍如下:
位段 | 名称 | 类型 | 复位值 | 描述 |
16 | COUNTFLAG | R | 0 | 如果计时器从上次读取后计数到0,则该为返回1 |
2 | CLKSOURCE | R/W | 0 | 时钟源选择为: 0=AHB/8 1=处理器时钟AHB |
1 | TICKINT | R/W | 0 | 启用SysTick异常请求: 0=计数器数到0时没有异常请求 1=计数器数到0时产生SysTick异常请求 通过读取COUNTFLAG位可以确定计数器是否递减到0 |
0 | ENABLE | R/W | 0 | SysTick定时器的使能位 |
位段 | 名称 | 类型 | 复位值 | 描述 |
23:0 | RELOAD | R/W | 0 | 当倒数计数到0时,加载到SYST_CVR寄存器的值 |
* RELOAD值可以是0x00000001 - 0x00FFFFFF范围内的任何值。起始值可以为0,但是没有效果,因为SysTick异常请求和COUNTFLAG在从1到0计数时才被激活。重新装载值是根据其使用情况计算的。例如,要生成周期为N个处理器时钟周期的多次触发定时器,可以配置RELOAD值为N-1。如果每100个时钟脉冲需要SysTick中断,则将RELOAD设置为99。
位段 | 名称 | 类型 | 复位值 | 描述 |
23:0 | CORRENT | R/W | 0 | 读取返回SysTick计数器的当前值。向寄存器写入任何值时都会将该字段 清除为0,并将SYST_CSR的COUNTFLAG位清除为0 |
每隔一秒,LED灯亮灭状态交替一次。