stm32程序中的assert_param()的說明

子程序都有assert_param(....),如下:這句到底有什麼用呢???把它刪了應該可以的嗎??

void TIM1_TimeBaseInit(u16 TIM1_Prescaler,
                       TIM1_CounterMode_TypeDef TIM1_CounterMode,
                       u16 TIM1_Period,
                       u8 TIM1_RepetitionCounter)
{     
  
  assert_param(IS_TIM1_COUNTER_MODE_OK(TIM1_CounterMode));   
......
}
答:
這是斷言,可以刪掉,只在編譯的時候防止一些寄存器的非法值。
判斷輸入參數是否合法(就是預期中的那些值),編譯時可以用來發現設置的值是否正確。
程序運行時一般是沒有用的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章