历史上的今天
今天是:2025年02月06日(星期四)
2021年02月06日 | STM8学习笔记三——错误:no definition for "assert_failed"
2021-02-06 来源:eefocus
在STM8程序编译过程中,我碰到了这样的错误:
Error[Li005]: no definition for "assert_failed" [referenced from C:Users97672DesktopSTM8_LEDUserDebugObjstm8s_gpio.o]
出现这个问题的原因是因为:"void assert_failed(u8* file, u32 line);"这个函数在“stm8s_conf.h”这个文件中只是单纯的声明,他的作用来在我们在做串口调试时返回值验证出错的时候调用。因此我们需要在某个地方将这个函数进行实现。一般将他放在“main.c”进行实现。
解决方法如下:
1、在main.c代码里添加以下代码:
#ifdef USE_FULL_ASSERT
void assert_failed(u8* file, u32 line)
{
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %drn", file, line) */
/* Infinite loop */
while (1)
{
}
}
#endif
2、在stm8s_conf.h 头文件中添加注释 #define USE_FULL_ASSERT(如果已有,则不用重复添加)。
史海拾趣
|
请大家指点指点呀,不胜感激 要求是继电器输出低电平时报警, 由于有8个继电器所以必须知道是哪个报警,(下边只写了2个) 报警时都在P2.7口输出 ALARM CLR P2.7   ...… 查看全部问答> |
|
我是将BSP包中的LCD显示部分文件全部拷到另一个目录下,然后在那个目录下的一个文件里面包含了个头文件(这个头文件在那个LCD显示文件中有定义的),也更改了source文件路径的,然后编译出现一大堆错误。sysgen了也不行的。请问是什么原因? … 查看全部问答> |
|
我使用2440+wince5与PC通过jrtplib通信,现在发现pc可以发送数据到网络,但是wince方面好像不行,抓包发现icmp:port unreachable, 是不是port被占用了呢?而且icmp、udp、tcp刚好是占用同一个字节(指定网络包协议),会不会是字节顺序问题?但 ...… 查看全部问答> |
|
●●高分求教用RDA同步SQL CE 2.0同SQL Server 2000数据的问题●● 用RDA的Pull方法的时候报错: IIS 错误 405 HTTP_STATUS_BAD_METHOD:不允许所使用的HTTP谓词。 --------------------------------------------------------------------- //我的代码 SqlCeRemoteDataAccess rda = new SqlCeRemoteDataAccess(); ...… 查看全部问答> |
|
我的pxa270开发版有4个串口(uart0~uart3),其中uart0用来和超级终端连接打印调试信息,下载了ce5.0。用evc编写的串口程序,打开了COM0:设置好了波特率等后writefile成功,但是不知为什么pc这边无法接收到信息,pc这边发送信息开发版也无法受到。 ...… 查看全部问答> |




