历史上的今天
返回首页

历史上的今天

今天是:2025年02月01日(星期六)

2020年02月01日 | STM8 symbol _assert_failed not defined (Debugstm8s_adc1.o )

2020-02-01 来源:eefocus

symbol _assert_failed not defined (Debugstm8s_adc1.o )


在调试STM8的时候出现了这个问题,即函数assert_failed 未定义。查找问题,在stm8s_conf.h中对void assert_failed(u8* file, u32 line) 进行了申明,确没有文件中对该函数体进行编写,因此编译时找不到该函数而出错。因为之前没有使用库文件,全部自己调用寄存器编制的程序就没有碰到这种问题。

在头文件stm8s_conf.h中对函数有引用:

#ifdef USE_FULL_ASSERT

/**


@brief The assert_param macro is used for function’s parameters check.

@param expr: If expr is false, it calls assert_failed function

which reports the name of the source file and the source

line number of the call that failed.

If expr is true, it returns no value.

@retval : None

/

#define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t )FILE, LINE))

/ Exported functions ------------------------------------------------------- /

void assert_failed(uint8_t file, uint32_t line);

#else

#define assert_param(expr) ((void)0)

#endif / USE_FULL_ASSERT */

新建一个stm8s_assert_fail.c文件,在开始时包含stm8s_conf.h,添加函数体文件如下:

#include “stm8s_conf.h”

#ifdef USE_FULL_ASSERT

/**


@brief Reports the name of the source file and the source line number

where the assert_param error has occurred.

@param file: pointer to the source file name

@param line: assert_param error line source number

@retval : None

/

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


编译即可通过。

推荐阅读

史海拾趣

Globaltech Semiconductor Co Ltd公司的发展小趣事

近年来,全球半导体行业面临了诸多挑战,包括供应链紧张、技术迭代加速等。面对这些挑战,Globaltech积极调整战略,加强与上游供应商和下游客户的沟通与合作,确保供应链的稳定。同时,公司还加大了对新技术和新产品的研发投入,以应对行业变化带来的挑战。通过这些努力,Globaltech不仅成功应对了行业挑战,还实现了业务的持续增长。

ERNI Electronics公司的发展小趣事

ERNI Electronics一直致力于技术创新和产品升级。继成功开发出世界上第一个DIN连接器后,公司又发展了多种电路板连接器和输入/输出连接器。这些连接器具有不同的针脚大小和间距,满足了各种应用场景的需求。此外,ERNI还推出了高速数据传输连接器、坚固耐用的M8/M12连接器以及最新的MiniBridge单排电缆连接器系统等创新产品,不断推动电子行业的发展。

Astro Industries Inc公司的发展小趣事

Astro Industries Inc的创始人在电子行业拥有丰富的经验,他们看到了市场对于高性能电子产品的迫切需求。于是,公司从创立之初就专注于技术创新,投入大量资源进行研发。经过不懈的努力,Astro Industries Inc成功推出了一款具有颠覆性的电子产品,其性能远超当时市场上的同类产品,迅速获得了市场的认可。

General Semiconductor ( Vishay )公司的发展小趣事

1962年,物理学家Felix Zandman博士在美国宾夕法尼亚州创立了Vishay公司,起初专注于研发和生产Bulk Metal箔电阻。这一电阻技术由Zandman博士发明,具有极高的精确性和稳定性,远超当时市场上的同类产品。公司以此为基础,逐步建立了自己在电子元件领域的地位。这一初期的成功为Vishay后续的快速发展奠定了坚实的基础。

EasySync公司的发展小趣事

EasySync公司成立于XXXX年,由一群热衷于同步技术的电子工程师创立。在初创期,公司面临着资金短缺、市场竞争激烈以及技术难题等挑战。然而,创始人们凭借对技术的热爱和对市场的敏锐洞察,不断研发新产品,优化同步算法,逐渐在市场上获得了认可。

BB公司的发展小趣事

如今,BB公司已经走过了数十年的发展历程,成为电子行业中一颗璀璨的明星。然而,公司并没有因此停下脚步。相反,BB公司始终保持着强烈的创新意识和进取精神,不断寻求新的发展机遇和挑战。未来,BB公司将继续致力于技术创新和市场拓展,为电子行业的繁荣发展贡献更多力量。

以上是关于BB公司发展起来的五个相关故事。这些故事不仅展现了BB公司的成长历程和发展成就,也凸显了其在电子行业中的重要地位和影响。相信在未来的日子里,BB公司将继续书写更加辉煌的篇章。

问答坊 | AI 解惑

圣诞来临 学好防盗再去“血拼”

过节了,保不齐成双成对地出去,那么也泼泼冷水吧:     1.不要携带过多现金,将财物放于包里,逛街时应多注意自己的包。不管是挎包还是背包,最好放在身前或是用胳膊夹住,拉锁朝向你能看到的方向。     2.逛街时见到形迹可 ...…

查看全部问答>

请问如何把.mdb转换成.cdb

请问如何把.mdb转换成.cdb,在wince5.0上面使用access数据库…

查看全部问答>

PCB图里面的元器件复制问题

画完PCB图,要需要元器件复制到Wrod里面,有什么办法可以复制过去吗?我直接复制怎么都复制不了!有经验的帮个帮,谢谢你们了!…

查看全部问答>

ucos iii

突然在网上看到有人说ucos iii不再提供源代码……:( 本人刚开始使用ucos ii,想了解一下最新的ucos iii,请问哪位大侠可以介绍一下?…

查看全部问答>

探路者:能否提供一些5050,3014,3528等芯片资料

能否提供一些5050,3014,3528等芯片资料 包含PDF技术文件,及成本价格等 谢谢,最近需要这些资料;…

查看全部问答>

看看这个程序!有问题啊!!

#include <MSP430x24x.h> void InitSys(); void InitBhTimerB(); unsigned int Cyc,LastTBCCR0; void main() { WDTCTL = WDTPW + WDTHOLD; InitSys(); LPM3; } void InitSys() { unsigned int iq0; BCSCT ...…

查看全部问答>

压力表可以改成压力传感器吗

请教各位大侠,压力表可以改成压力传感器吗?如果可以的话,应该怎么改呢?…

查看全部问答>

默默地发展。

静悄悄的灌点水。…

查看全部问答>

zigbee经典书籍--奉献给大家

     上传几本自己珍藏的觉得有用的ZigBee学习书籍给大家一睹为快,放心,就几本,我可不会上传一大堆让你选的。喜欢的就帮顶一下吧。 1.Zigbee Wireless Networking.pdf   2.ZigBee Wireless Networks and Trans ...…

查看全部问答>