IAR中创建stm8s 工程时assert_failed函数引发的错误

发布者:转眼人老最新更新时间:2018-06-01 来源: eefocus关键字:IAR  stm8s  assert_failed函数 手机看文章 扫描二维码
随时随地手机看文章

使用IAR编译STM8S的工程时,编译器报错:



这个错误的原因是在:stm8s_conf.h中声明了assert_failed函数,并没有定义,包含这个头文件是必须完成这个函数的定义,stm8s_conf.h中函数原型如下:




解决方法:

在主文件main.c中或者其他文件中添加assert_failed函数定义:


void assert_failed(u8* file,u32 line)
{
  while(1)
  {
  }
}



关键字:IAR  stm8s  assert_failed函数 引用地址:IAR中创建stm8s 工程时assert_failed函数引发的错误

上一篇:IAR for stm8使用标准固件库的方法以及注意事项
下一篇:STM8L101系列单片机串口配置详解(基于IAR自带库)

推荐阅读最新更新时间:2024-03-16 16:04

IAR Systems RISC-V 功能安全版开发工具支持最新的 SiFive 汽车解决方案
IAR Embedded Workbench for RISC-V 为SiFive 最近推出的汽车 E6-A 和 S7-A 产品提供全面支持 瑞典乌普萨拉 - 2022 年 10 月 17 日 - 嵌入式开发软件和服务的全球领导者 IAR Systems® 持续为 SiFive 的 RISC-V 车用 CPU IP 提供解决方案: IAR Systems 旗下的 IAR Embedded Workbench™ for RISC-V 支持最新的 SiFive 车用 E6-A 和 S7-A 产品系列,以满足信息娱乐、连接和 ADAS 等汽车应用的需求。IAR 的完整开发工具链帮助 OEM 和供应商的嵌入式软件开发人员充分利用 RI
[单片机]
<font color='red'>IAR</font> Systems RISC-V 功能安全版开发工具支持最新的 SiFive 汽车解决方案
IAR STM8工程中断的使用
IAR的工程建立比较简单,直接先建立工作区然后保存,不保存无法调试。把官方的INC放到工程目录下,在C/C++编辑连接包含这个文件的绝对路径(最简单的搞法)。把c文件添加进去就可以了,它的中断很简单你只要写一个如下的.c文件就能用了: #pragma vector=1 __interrupt void TRAP_IRQHandler(void) { } #pragma vector=2 __interrupt void TLI_IRQHandler(void) { } #pragma vector=3 __interrupt void AWU_IRQHandler(void) { } #pragma vector=
[单片机]
STM8S串口中断卡死调试记录
项目使用STM8S003单片机,数据发送速率比较慢时,一切正常。当速率快的时候,系统卡死,具体表现为一直运行中断服务程序,无法执行while(1)里面的内容了。 调试记录 开始怀疑是一直在响应某个中断,断点调试后发现是一直在响应UART1接收中断。调试步骤如下: 怀疑是串口中断里做了数据解析工作,导致在解析途中又收到了第二个串口接收中断,然后发生异常。解决办法是在串口接收中断中关闭串口接收中断,数据解析完成后再打开串口接收中断,防止在本次数据解析时发生下一次接收中断。具体代码表现如下: /** * @brief UART1 RX Interrupt routine * @param None * @retv
[单片机]
<font color='red'>STM8S</font>串口中断卡死调试记录
iar输出s19用于stvp下载的设置方法
iar输出s19用于stvp下载的设置方法
[单片机]
<font color='red'>iar</font>输出s19用于stvp下载的设置方法
STM8S 带缓冲区 串口中断 使用心得
#include UART.H /*-------------------------串口初始化函数------------------------*/ /*********************************************************** * 函数名称:void UART2_Init(void) * * 功能描述:UART2初始化函数 * * 参数列表:无 * * 返回结果:无 ***********************************************************/ void UART2_Init(void) { UART2_CR1=0x00;
[单片机]
stm8s开发(三) UART的使用:串口通信!
  串口通信是单片机学习的一个最基本、最重要的功能之一。串口通信可以间接的当做调试接口使用,实现单片机与电脑之间的通信。当然可以与一些模块(比如蓝牙、wifi)通信,也可以作为和其他单片机通信的工具。   STM8S的通用异步收发器(UART)主要特性:   ● 全双工的,异步通信   ● 可编程数据字长度(8位或9位)   ● 可配置的停止位-支持1或2个停止位   一般的,我们使用串口通信主要是关心几点参数:波特率、停止位、奇偶校验位。   其次就是如何发送、如何接收数据,这里介绍的使用阻塞式发送数据、中断方式接收数据。   以下代码是初始化串口,参数为:115200 1停止位 无校验位   void Init
[单片机]
<font color='red'>stm8s</font>开发(三) UART的使用:串口通信!
IAR 配置ICF到项目的实现方法
以STM8为例: 将项目使用的MCU型号的icf文件拷贝到项目里面,icf一般放在 C:\Program Files\IAR Systems\Embedded Workbench 6.5\stm8\config 这个目录下. 1、拷贝lnkstm8s207rb.icf 例如,我用的是STM8S207RB,则我会将lnkstm8s207rb.icf这个文件拷贝到我项目里面。 2、设置项目属性 打开项目的Option属性,然后修改linker-- Linker configuration file这项里面的内容为: $PROJ_DIR$\lnkstm8s207rb.icf 如图, 点确定保存即可。
[单片机]
IAR建立STM8工程
其中的几个点: 预处理Preprocessor - 添加路径,这个是头文件路径 STM8和STM32必须要预编译型号 下面的是问题: 路径有中文的问题 会出现以上的错误,导致一系列的问题 关闭源文件再次打开字体变化了 如图的√去掉就可以了,因为添加了中文的注释,软件是英文的,字符转换的问题 接下来来是调试问题 连接不上的问题,查看驱动,如果是显示Unknown Devicer,重装驱动也还是一样的,那么应该是ST-LINK数据线出问题,更换数据线尝试 连接上了,但是没有办法下载程序,出现如下的错误 给STM8外加电源,如果不行尝试 Failed to set configuration with MCU nam
[单片机]
<font color='red'>IAR</font>建立STM8工程
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved