amlay 发表于 2025-4-23 09:50

F103的RCU_CFG0寄存器

关于GD32F103时钟的配置问题,手册中PLLMF是第27位,库函数中是第29位。
是我理解错了,还是文件错误,还请给说明一下谢谢。

jcky001 发表于 2025-4-23 13:08

建议优先参考数据手册

jcky001 发表于 2025-4-23 13:08

配置完成后,建议通过J-Link验证时钟配置是否正确

dffzh 发表于 2025-4-23 14:16

网上的资料好像都是第27位,你的固件库是哪里来的?怎么会不一样?神奇

amlay 发表于 2025-4-23 14:19

jcky001 发表于 2025-4-23 13:08
建议优先参考数据手册

/* RCU_CFG0 */
#if (defined(GD32F10X_MD) || defined(GD32F10X_HD) || defined(GD32F10X_XD))
#define RCU_CFG0_SCS                  BITS(0,1)               /*!< system clock switch */
#define RCU_CFG0_SCSS                   BITS(2,3)               /*!< system clock switch status */
#define RCU_CFG0_AHBPSC               BITS(4,7)               /*!< AHB prescaler selection */
#define RCU_CFG0_APB1PSC                BITS(8,10)                /*!< APB1 prescaler selection */
#define RCU_CFG0_APB2PSC                BITS(11,13)               /*!< APB2 prescaler selection */
#define RCU_CFG0_ADCPSC               BITS(14,15)               /*!< ADC prescaler selection */
#define RCU_CFG0_PLLSEL               BIT(16)                   /*!< PLL clock source selection */
#define RCU_CFG0_PREDV0               BIT(17)                   /*!< PREDV0 division factor */
#define RCU_CFG0_PLLMF                  BITS(18,21)               /*!< PLL clock multiplication factor */
#define RCU_CFG0_USBDPSC                BITS(22,23)               /*!< USBD clock prescaler selection */
#define RCU_CFG0_CKOUT0SEL            BITS(24,26)               /*!< CKOUT0 clock source selection */
#define RCU_CFG0_PLLMF_4                BIT(27)                   /*!< bit 4 of PLLMF */
#define RCU_CFG0_ADCPSC_2               BIT(28)                   /*!< bit 2 of ADCPSC */
#elif defined(GD32F10X_CL)
#define RCU_CFG0_SCS                  BITS(0,1)               /*!< system clock switch */
#define RCU_CFG0_SCSS                   BITS(2,3)               /*!< system clock switch status */
#define RCU_CFG0_AHBPSC               BITS(4,7)               /*!< AHB prescaler selection */
#define RCU_CFG0_APB1PSC                BITS(8,10)                /*!< APB1 prescaler selection */
#define RCU_CFG0_APB2PSC                BITS(11,13)               /*!< APB2 prescaler selection */
#define RCU_CFG0_ADCPSC               BITS(14,15)               /*!< ADC prescaler selection */
#define RCU_CFG0_PLLSEL               BIT(16)                   /*!< PLL clock source selection */
#define RCU_CFG0_PREDV0_LSB             BIT(17)                   /*!< the LSB of PREDV0 division factor */
#define RCU_CFG0_PLLMF                  BITS(18,21)               /*!< PLL clock multiplication factor */
#define RCU_CFG0_USBFSPSC               BITS(22,23)               /*!< USBFS clock prescaler selection */
#define RCU_CFG0_CKOUT0SEL            BITS(24,27)               /*!< CKOUT0 clock source selection */
#define RCU_CFG0_ADCPSC_2               BIT(28)                   /*!< bit 2 of ADCPSC */
#define RCU_CFG0_PLLMF_4                BIT(29)                   /*!< bit 4 of PLLMF */
#endif /* GD32F10X_MD and GD32F10X_HD and GD32F10X_XD */

CL型的和其他不一样,代码看错行了{:sweat:},解决了,谢谢

amlay 发表于 2025-4-23 14:21

dffzh 发表于 2025-4-23 14:16
网上的资料好像都是第27位,你的固件库是哪里来的?怎么会不一样?神奇

CL型的是位29,其他的是位27,用vscode打开的,没有进行宏定义,找错行了

dffzh 发表于 2025-4-23 14:29

amlay 发表于 2025-4-23 14:21
CL型的是位29,其他的是位27,用vscode打开的,没有进行宏定义,找错行了

一切皆有因果,解决就好
页: [1]
查看完整版本: F103的RCU_CFG0寄存器