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));
......
}
答:
這是斷言,可以刪掉,只在編譯的時候防止一些寄存器的非法值。
判斷輸入參數是否合法(就是預期中的那些值),編譯時可以用來發現設置的值是否正確。
程序運行時一般是沒有用的。
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));
......
}
答:
這是斷言,可以刪掉,只在編譯的時候防止一些寄存器的非法值。
判斷輸入參數是否合法(就是預期中的那些值),編譯時可以用來發現設置的值是否正確。
程序運行時一般是沒有用的。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
STM32中enumeration特殊使用方法
STM32中enumeration特殊使用方法 定義如下: /*! * STM32 Pin Names */ #define MCU
yanlaifan
2020-07-08 07:48:26
warnings by IAR Embedded workbench IDE:transfer of control bypasses initialization of...
warnings by IAR Embedded workbench IDE:transfer of control bypasses initialization of...
yanlaifan
2020-07-08 07:48:26
printf函數簡潔實現
zhuohui307317684
2020-07-08 03:38:33
STM32智能遙控小車,超詳細-附下載直接可以用,雙電源跑賊快!
你就叫我李大帅
2020-07-07 21:45:58
多定時器複用一個硬件定時器
断雁孤鸿
2020-07-07 19:05:39
STM32F4/F1+ESP8266連接移動雲(OneNET)
BROSY
2020-07-07 14:53:26
STM32定時器應用——輸出PWM給電機調速
BROSY
2020-07-07 14:53:26
ANSIC幾種特殊的標準定義(__FILE__、__LINE__、__STDC__···)
Bingo Fang
2020-07-07 14:34:54
【STM32】RTC時鐘學習筆記,庫函數和寄存器步驟(可修改時間)
那可真是太开心了呢
2020-07-07 13:51:43
NTC熱敏電阻溫度採集與adc轉換
那可真是太开心了呢
2020-07-07 13:51:37
【方法】Ilitek ILI9325、ILI9328、ILI9341 LCD TFT彩屏利用Memory Read指令讀取屏幕上顯示的內容
巨大八爪鱼
2020-07-07 13:45:03
STM32F030R8Tx HAL SPI(驅動12864屏)
仙剑情缘
2020-07-07 11:41:11
STM32F030R8Tx自定義協議實現串口升級詳解
仙剑情缘
2020-07-07 11:41:11
24小時熱門文章
-
再談23種設計模式(3):行爲型模式(學習筆記)
-
Power Automate Desktop 安裝完,登錄後老是提示one driver 錯誤
-
微前端學習筆記(4):從微前端到微模塊之EMP與hel-micro方案探索
-
微前端學習筆記(1):微前端總體架構概述,從微服務發微
-
985 碩士程序員,空窗 4 個月沒有 Offer!
-
一文搞懂 Spring 循環依賴
-
賽博鬥地主——使用大語言模型扮演Agent智能體玩牌類遊戲。
-
VScode右鍵打開(添加到右鍵)
-
記一次 .NET某工控視覺自動化系統 卡死分析
-
WindowsServer--SQL Server搭建主從同步實現讀寫分離 - 事務性分發