TC234 之STMDIV 工程中设置方法
现在想明白了为什么在定义CCUCON0 的时候为什么要使用 ## 拼接符?
我想是因为PLLfreq 有好多选择 就我知道的有80MHz 150MHz 200MHz
在ifxScu_cfg.h 中

#define IFXSCU_CFG_GTMDIV_200MHz 200MHz 就是pllfeq
现在就用到 ## 拼接符号的 概念了

上图中的pllfreq 我已经定义为200MHz
那么 上图就是
(IFXSCU_CFG_STMDIV_##pllFreq << IFX_SCU_CCUCON1_STMDIV_OFF)
实际上就是
(IFXSCU_CFG_STMDIV_200MHz << IFX_SCU_CCUCON1_STMDIV_OFF)
前面已经定义了
#define IFXSCU_CFG_STMDIV_200MHZ (IFXSCU_CFG_MAXDIV_200MHZ * 2) /*Max: 100MHz */
所以我猜想这样的话 STMDIV 就等于2
现在我验证一下:
#define IFXSCU_CFG_STMDIV_200MHZ (IFXSCU_CFG_MAXDIV_200MHZ * 8)
然后仿真以下, 看一下STM的分频系数是不是变成8了。

现在已经是8分频了 但是实际上STM 的输入时钟应该是和2分频 一致的。
观察指示灯的 闪烁 频率还是1秒一次 。
我记着好像是频率 比率 是确定的,一般不能胡乱修改。


浙公网安备 33010602011771号