开启调用库函数中的函数入口参数合法性检查

2019-08-22 15:54发布

如下是个人学习总结,如果有什么问题,还请指教,谢谢
默认情况下,其实是没有开启参数合法性检查的.
000.png
如果想开启参数合法性检查,那么我们就需要开启宏USE_FULL_ASSERT.
如何开启呢,修改stm32_conf.h是个办法,但绝对不是好办法.最好是在配置工程中修改,如下
001.png
那接下来,我们就需要实现void assert_failed(uint8_t* file, uint32_t line),这个函数在stm32_conf.h中已经给出了函数的原型,我们只是需要实现这个函数即可.
那就采用最简单的办法吧(当然,如果参错类型错误,我们是希望程序停止在这里,对吧),我把这个函数定义在main.c中
002.png
所有工作都已经完成,下面开始测试:
我将SYSTEM文件夹中的usart.c中初始化串口GPIO引脚的GPIO_Init()函数的GPIOA改为NULL.
003.png
接下来,一步一步单步执行,发现函数停止在这里,测试成功
004.png
0条回答

一周热门 更多>