CubeMXでIWDGを有効にしたときの小技

CubeMXでIWDG(ウォッチドッグタイマ)を有効にした場合、自動生成される初期化コードでIWDGがスタートしてしまうため、デバッガで実行を止めるとIWDGによってリセットがかかってしまう。これを回避するためには、デバッグ時には下記のようなマクロをmain.cの USER CODE BEGIN PV から USER CODE END PV の間で定義すればよい。

/* USER CODE BEGIN PV */

// ウォッチドッグタイマを無効にするためのトリック
#define HAL_IWDG_Init(a)	(HAL_OK)

/* USER CODE END PV */