cnxh 发表于 2022-5-28 08:23:28

AT32F403A的时钟倍频 RCC_CFG_PLLMULT21到60数值是多少

本帖最后由 cnxh 于 2022-5-28 08:44 编辑

下面是pdf上的资料,RCC_CFG_PLLMULT21到60,被省略,找遍全网,包括官网资料竟然都找不到,哪位兄弟知道,谢谢
包括搜索了他的下载的底层bsp Firmware Library也没有,本来想依次累加
#define RCC_CFG_PLLMULT21 ((uint32_t)0x20100000) /*!< PLL input clock * 21*/
#define RCC_CFG_PLLMULT22 ((uint32_t)0x20140000) /*!< PLL input clock * 22*/
但是RCC_CFG_PLLMULT61起前面是0x6,所以不知道什么时候起开头要0x6开始

168MHz PLL使用范例:
打开system_sxx32f10x.c找到当前的系统时钟频率配置函数(需经过上述PLL配置),如168MHz函
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);
#define RCC_CFG_PLLMULT1 ((uint32_t)0x20000000) /*!< PLL input clock * 17 */
#define RCC_CFG_PLLMULT18 ((uint32_t)0x20040000) /*!< PLL input clock * 18 */
#define RCC_CFG_PLLMULT19 ((uint32_t)0x20080000) /*!< PLL input clock * 19 */
#define RCC_CFG_PLLMULT20 ((uint32_t)0x200C0000) /*!< PLL input clock * 20 */

#define RCC_CFG_PLLMULT61 ((uint32_t)0x60300000) /*!< PLL input clock * 61 */
#define RCC_CFG_PLLMULT62 ((uint32_t)0x60340000) /*!< PLL input clock * 62 */
#define RCC_CFG_PLLMULT63 ((uint32_t)0x60380000) /*!< PLL input clock * 63 */
#define RCC_CFG_PLLMULT64 ((uint32_t)0x603C0000) /*!< PLL input clock * 64 */
#define RCC_CFG_PLLRANGE ((uint32_t)0x80000000) /*!< PLL Frequency range */
#define RCC_CFG_PLLRANGE_LE72MHZ ((uint32_t)0x00000000) /*!< When PLL
frequency is less than or equal to 72MHz */
#define RCC_CFG_PLLRANGE_GT72MHZ ((uint32_t)0x80000000) /*!< When
PLL frequency is greater than 72MHz */
以设置72MHz 为例:
RCC->CFG |= (uint32_t)(RCC_CFG_PLLRC_HSE | RCC_CFG_PLLMULT9 |
RCC_CFG_PLLRANGE_LE72MHZ);
以设置200MHz 为例:
RCC->CFG |= (uint32_t)(RCC_CFG_PLLRC_HSE | RCC_CFG_PLLMULT25 |
RCC_CFG_PLLRANGE_GT72MHZ);

zhanyanqiang 发表于 2022-5-28 17:09:03

不是有时钟配置的 cubemx?

cnxh 发表于 2022-5-29 05:41:21

zhanyanqiang 发表于 2022-5-28 17:09
不是有时钟配置的 cubemx?
(引用自2楼)

谢谢,看我前2天的另外帖子就明白了
https://www.amobbs.com/forum.php?mod=viewthread&tid=5766235&page=1#pid11867024

我是一个大白菜 发表于 2022-5-29 14:54:58

楼主,你看看这个里面有没有你用的上的

cnxh 发表于 2022-5-30 20:54:40

本帖最后由 cnxh 于 2022-5-30 20:57 编辑

我是一个大白菜 发表于 2022-5-29 14:54
楼主,你看看这个里面有没有你用的上的
(引用自4楼)
兄弟谢谢,那个时钟文件system_at32f4xx.c有设置时钟的函数,点击枚举去定义找不到,可能你发的没带库函数,他找不到,你搜索下RCC_CFG_PLLMULT60这些定义时在哪个文件里,感叹号的文件都没有

我是一个大白菜 发表于 2022-5-30 21:35:57

cnxh 发表于 2022-5-30 20:54
兄弟谢谢,那个时钟文件system_at32f4xx.c有设置时钟的函数,点击枚举去定义找不到,可能你发的没带库函数,他 ...
(引用自5楼)

整个bsp太大了,我看到这个文件里有,你看看是不是需要的

xml2028 发表于 2022-5-31 00:41:12

不是有库函数吗,直接设置成168000000就行了啊

cnxh 发表于 2022-5-31 05:43:49

本帖最后由 cnxh 于 2022-5-31 05:47 编辑

xml2028 发表于 2022-5-31 00:41
不是有库函数吗,直接设置成168000000就行了啊
(引用自7楼)

原过程是stm的不想动,主要找不到at的这个用寄存器方式使用的库,用那个生成时钟代码的软件生成代码,需要库函数,加入at的库,定义和stm的有冲突,提取at使用的库中定义,测试有问题

cnxh 发表于 2022-5-31 05:44:15

本帖最后由 cnxh 于 2022-5-31 05:53 编辑

我是一个大白菜 发表于 2022-5-30 21:35
整个bsp太大了,我看到这个文件里有,你看看是不是需要的
(引用自6楼)

非常感谢,应该能解决问题了,好人很热心,祝你家宅平安,事业兴旺

我是一个大白菜 发表于 2022-5-31 08:00:02

cnxh 发表于 2022-5-31 05:44
非常感谢,应该能解决问题了,好人很热心,祝你家宅平安,事业兴旺
(引用自9楼)

您太客气了,举手之劳,我也在论坛得到很多帮助( ´・ᴗ・` )
页: [1]
查看完整版本: AT32F403A的时钟倍频 RCC_CFG_PLLMULT21到60数值是多少