历史上的今天
返回首页

历史上的今天

今天是: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(如果已有,则不用重复添加)。


推荐阅读

史海拾趣

Golledge Electronics公司的发展小趣事

Golledge Electronics公司的发展故事

故事一:石英晶体振荡器的创新起点

Golledge Electronics公司的起源可以追溯到对石英晶体振荡器技术的深入研究和创新。公司最初成立于英国水晶产区的中心,依托当地丰富的水晶资源,Golledge迅速成为石英晶体振荡器领域的佼佼者。公司创始人敏锐地意识到石英晶体的压电特性在电子系统中的重要应用价值,于是投入大量资源进行研发。通过不断优化晶体制造工艺和温度补偿技术,Golledge成功推出了高精度、高稳定性的石英晶体振荡器,为无线电通信、卫星通信等领域提供了关键技术支持。这一创新不仅奠定了Golledge在电子行业的基础,也为其后续发展铺平了道路。

故事二:微机电系统(MEMS)技术的突破

随着电子产品的不断小型化和便携化,Golledge Electronics公司紧跟时代步伐,将研发重点转向微机电系统(MEMS)技术。MEMS谐振器以其紧凑的尺寸和稳健的性能,成为便携式设备和可穿戴设备中的理想选择。Golledge通过自主研发和合作创新,成功将MEMS技术应用于频率控制产品中,推出了多款高性能、低功耗的MEMS谐振器。这些产品不仅满足了市场对小型化、轻量化的需求,还进一步提升了电子系统的整体性能和可靠性。Golledge在MEMS技术领域的突破,为其在电子行业中的领先地位增添了新的动力。

故事三:新材料应用的探索

为了不断提升产品的性能和质量,Golledge Electronics公司始终致力于新材料的研发和应用。公司研发团队通过深入研究石英晶体的物理特性和化学性质,成功开发出了一系列具有独特性能的石英晶体材料。这些新材料不仅具有更高的稳定性和频率精度,还能够在极端环境下保持优异的性能表现。Golledge将这些新材料应用于频率控制产品中,显著提升了产品的竞争力和市场占有率。同时,公司还积极探索其他新型材料的应用潜力,为未来的技术创新储备了丰富的资源。

故事四:机器学习集成的创新实践

随着人工智能技术的快速发展,Golledge Electronics公司敏锐地捕捉到这一趋势,并积极探索机器学习在频率控制领域的应用。公司研发团队通过集成机器学习算法,使频率控制系统能够动态地适应和优化频率设置。这一创新实践不仅确保了频率控制系统的持续准确性,还为其赋予了自我学习和自我优化的能力。Golledge的这一创新成果,不仅提升了产品的智能化水平,也为电子行业的未来发展提供了新的思路和方向。

故事五:超微型SMD晶体的商用化

为了满足市场对更小、更轻、更高效的电子产品的需求,Golledge Electronics公司推出了超微型1610mm封装SMD晶体,并成功实现商用化。这款晶体以其极小的尺寸和优异的性能,迅速赢得了市场的青睐。Golledge通过不断优化生产工艺和质量控制体系,确保了超微型SMD晶体的稳定供应和高质量表现。这款产品的成功商用,不仅进一步巩固了Golledge在电子行业中的地位,也为其在小型化、便携化电子产品领域的发展开辟了新的市场空间。

General Magnetics Inc公司的发展小趣事
可能由于输入电压波动、负载变化或内部元件老化等原因导致。
Elpress AB公司的发展小趣事

在稳固了国内市场后,Elpress AB开始积极拓展国际市场。公司设立了多个海外子公司和物流中心,如丹麦的锡尔克堡、德国的Viersen以及中国的北京等地。这些海外机构的建立为Elpress AB的产品提供了更广阔的销售渠道和更便捷的服务支持。同时,Elpress AB还与国际知名电子企业开展合作,共同研发新产品、开拓新市场,进一步提升了公司的国际影响力。

Ametek公司的发展小趣事

随着电子技术的不断进步和市场需求的变化,Elpress AB意识到只有不断创新才能保持竞争力。因此,公司加大了对研发的投入,引进了一批先进的研发设备和人才。经过数年的努力,Elpress AB成功推出了一系列具有创新性和领先性的电气连接产品,如高压电缆接头、母线连接器等。这些产品的推出不仅丰富了公司的产品线,也进一步提升了Elpress AB在电气连接领域的地位。

EBK Kruger GmbH & Co KG公司的发展小趣事

在电子行业的初期,EBK Kruger GmbH & Co KG由创始人Klaus Kruger在德国的一个小镇创立。Klaus是一位电子工程师,对新型电子元器件的研发充满热情。他带领团队成功研发出一种具有更高稳定性和更低能耗的新型电阻器,这一技术突破让公司在行业中崭露头角。通过不断的技术创新和产品优化,EBK Kruger逐渐赢得了市场的认可。

Bkc Semiconductors Inc公司的发展小趣事

随着技术的成熟和产品的不断完善,Bkc开始积极拓展市场。公司不仅加强了与国内外知名电子厂商的合作,还积极参与国际半导体展会和技术交流,不断提升品牌知名度。同时,Bkc还通过战略投资和并购等方式,进一步扩大了自身的业务规模和市场份额。

问答坊 | AI 解惑

继电器的编程,请大家帮忙呀

   请大家指点指点呀,不胜感激        要求是继电器输出低电平时报警, 由于有8个继电器所以必须知道是哪个报警,(下边只写了2个) 报警时都在P2.7口输出 ALARM  CLR  P2.7     ...…

查看全部问答>

TMS320LF2407A矢量控制变频器的开发经验

TMS320LF2407A矢量控制变频器的开发经验…

查看全部问答>

9263中WINCE屏驱动怎么做

买了一个微控VC9263-EK开发板,带了一个3.5寸的竖屏,但我现在要换用别的屏,应该怎样修改屏的驱动的呢?…

查看全部问答>

CE6.0编译出错问题

我是将BSP包中的LCD显示部分文件全部拷到另一个目录下,然后在那个目录下的一个文件里面包含了个头文件(这个头文件在那个LCD显示文件中有定义的),也更改了source文件路径的,然后编译出现一大堆错误。sysgen了也不行的。请问是什么原因? …

查看全部问答>

jrtplib 发送的数据好像收不到?

我使用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(); ...…

查看全部问答>

wince串口不能工作

我的pxa270开发版有4个串口(uart0~uart3),其中uart0用来和超级终端连接打印调试信息,下载了ce5.0。用evc编写的串口程序,打开了COM0:设置好了波特率等后writefile成功,但是不知为什么pc这边无法接收到信息,pc这边发送信息开发版也无法受到。 ...…

查看全部问答>

实现低功耗有哪些常用方法

我在做一个智能电子体温计,要求实现低功耗,系统电流小于0.3毫安。不能用贴片元件,我知道的方法就是所有三极管全用mos管,还有其他方法么?!…

查看全部问答>

用C# 开发mc 1000 应用程序

mc 1000 怎么开启CODE128码,项屏蔽其它码制,如:EAN码等 …

查看全部问答>