(prescaler+1)*(period+1)*2/CK_TIMER,其中CK_TIMER根据APB1和APB2的分频系数决定 二、GD32F4xx系列 实际上GD32F4xx系列的周期时间计算公式和GD32F30x的相同,不同的点在于CK_TIMER的计算公式,照例看下GD32F4xx的时钟树:可以看到CK_TIMER可以是APB时钟乘以1、乘以2或乘以4,那具体是乘以几呢?这个...
首先,算出CK_APB1=AHB时钟/2 = 60M,其次,由于APB1分频系数不等于1,所以CK_Timer1=CK_APB1*2 = 60M*2 = 120M。 算出Timer的时钟频率后,我们看下Timer最基础的配置代码: 有两个和周期时间相关的参数: 其一为prescaler,即Timer的分频系数,该分频系数将Timer频率进行分频后给到计数器时钟,计算公式为:计数...
(prescaler+1)*(period+1)*2/CK_TIMER,其中CK_TIMER根据APB1和APB2的分频系数决定 二、GD32F4xx系列 实际上GD32F4xx系列的周期时间计算公式和GD32F30x的相同,不同的点在于CK_TIMER的计算公式,照例看下GD32F4xx的时钟树: 可以看到CK_TIMER可以是APB时钟乘以1、乘以2或乘以4,那具体是乘以几呢?这个是根据...
(1) 标注A为CK_SYS,即系统主时钟,它一条线连接至CK_I2S,给I2S外设提供时钟,另一条线经过AHB分频器,输出到CK_AHB,即标注B。(2) CK_AHB为AHB总线时钟,AHB总线时钟或直连,或经过APB1/APB2分频,给标注C位置的外设提供时钟。(3) 那么,CK_SYS从何而来呢,我们看标注A的左边,CK_SYS通过SCS位域选择...
ADC时钟由APB2时钟经2、4、6、8、12、16分频或由AHB时钟经5、6、10、20分频获得,它们是通过设置RCU_CFG0和RCU_CFG1寄存器的ADCPSC位来选择。 SDIO, EXMC的时钟由CK_AHB提供。 TIMER时钟由CK_APB1和CK_APB2时钟分频获得,如果APBx(x=0,1)的分频系数不为1,则TIMER时钟为CK_APBx(x=0,1)的两倍。
由此可以算出,在GD32F103RC芯片中如果配置系统时钟CK_SYS=108MHz,则CK_APB1=54MHz,APB1 prescale ...
4xx系列RTC工作在备份域,可在低功耗模式下保持工作,通过APB总线可对RTC寄存器进行读取和配置。如下图4xx系列RTC结构框图所示,RTC时钟源可配置通过数字平滑校准或直接输入到7位异步预分频器输出ck_apre时钟用于RTC_SS亚秒寄存器自减计数,ck_apre时钟又可通过数字粗平滑校准或直接输入15位同步预分频器后输出1HZ的...
AHB、APB1、APB2、PLL配置 void rcu_ahb_clock_config(uint32_t ck_ahb) /*! \brief configure the AHB clock prescaler selection \param[in] ck_ahb: AHB clock prescaler selection only one parameter can be selected which is shown as below: ...
那么APB1是多少呢? 根据RCU_CFG1的寄存器说明: AHB = SYSCLK; APB1 = AHB/4= 200M/4 = 50MHz; CK_TIMERx = 2 * CK_APB1 = 100MHz 若对时钟配置寄存器 1 进行时钟配置的话, rcu_timer_clock_prescaler_config(RCU_TIMER_PSC_MUL4);
CK_AHB = 336000000 CK_APB2 = 336000000 CK_APB1 = 168000000 dhry Start dhrystone test... Stopped, elasped time = 3ms 92 然后再来找CB版本的最高工作频率,这个频率在240M和320M之间,先测试`8*35=280M`,无法工作;降低一点`8*34=272M`,正常工作了,此时工作电流55.6mA。