GD32 には STM32 のように簡単に使えるグラフィカルなクロックツリーがなく、チップのマニュアルに記載されているクロックツリーもコードと合っていないように見えます。分周・逓倍後の各バスのクロック周波数が具体的にいくつなのかは、追加で確認する必要があります。以下の方法を使います。Cコピーuint32_t uclk; uclk = rcu_clock_freg_get(CK_APB1); // APB1バスのクロック uclk = rcu_clock_freg_get(CK_APB2); // APB2バスのクロック uclk = rcu_clock_freg_get(CK_AHB); // AHBバスのクロック uclk = rcu_clock_freg_get(CK_SYS); // システムクロック ほかにも同様のクロック列挙値があります。また、gd32f30x.h のようにチップ名と同じ名前のヘッダーファイルには、外部水晶振動子の周波数を決める HXTAL_VALUE マクロがあります。
GD32 のクロックを自己チェックする簡単な方法
GD32 には STM32 のように簡単に使えるグラフィカルなクロックツリーがなく、チップのマニュアルに記載されているクロックツリーもコードと合っていないように見えます。分周・逓倍後の各バスのクロック周波数が具体的にいくつなのかは、追加で確認する必要があります。
以下の方法を使います。
ほかにも同様のクロック列挙値があります。
また、
gd32f30x.hのようにチップ名と同じ名前のヘッダーファイルには、外部水晶振動子の周波数を決めるHXTAL_VALUEマクロがあります。