STM32のI2Cタイミングは、いくつかの入力を行うと、タイミングレジスタを自動で算出するST公式のExcelツールが公開されている。
https://www.st.com/en/embedded-software/stsw-stm32126.html
PClockが低い状態で高速なBusSpeed設定をするとエラーとなったので、
設定不可能な値もチェックしてくれるようだ。
規格のFastMode、NormalModeだけで良ければ手間では無いが、このExcelのようにスピードをフレキシブルに作ろうとすると、計算処理が結構手間だと思う。
まず、はじめにPCLK/プリスケーラの設定を決めるあたりで、可否の判断をしたり、
最適なプリスケーラ値を出す必要があるため、全プリスケーラのパターンを先頭から総当たりして計算結果を出して判定していくのが良さそうか。