历史上的今天

今天是:2024年10月21日(星期一)

正在发生

2021年10月21日 | stvd+stm8s: #error cpstm8 sx1276.c:70(35) missing prototype

发布者:WhisperingSoul 来源: eefocus关键字:stvd  stm8s  error 手机看文章 扫描二维码
随时随地手机看文章

stvd 4.3.9编译stm8s工程报如下错误:
Compiling sx1276.c...
cxstm8 +modsl +debug -pxp -no +split -pp -l -istm8s_stdperiph_driverinc -i"C:Program Files (x86)COSMICCXSTM8Hstm8" -i"C:Program Files (x86)STMicroelectronicsst_toolsetinclude"  -clDebug -coDebug sx1276.c
#error cpstm8 sx1276.c:70(35) missing prototype
#error cpstm8 sx1276.c:276(53) missing prototype
sx1276.c:
 The command: "cxstm8 +modsl +debug -pxp -no +split -pp -l -istm8s_stdperiph_driverinc -i"C:Program Files (x86)COSMICCXSTM8Hstm8" -i"C:Program Files (x86)STMicroelectronicsst_toolsetinclude"  -clDebug -coDebug sx1276.c" has failed, the returned value is: 1
exit code=1.

问题原因:

sx1276.c:70行调用函数:Value = lpTypefunc.lpByteReadfunc(); lpByteReadfunc()函数没有形参,需要加上void。


  1. typedef struct {

  2.     

  3.    void (*lpByteWritefunc)(unsigned char src);

  4.    unsigned char (*lpByteReadfunc)();

  5.    void (*lpSwitchEnStatus)(cmdEntype_t cmd);

  6.    void (*paSwitchCmdfunc)(cmdpaType_t cmd);

  7.    void (*lpRecvDataTousr)(unsigned char *lpbuf,unsigned short length);

  8.    

  9. } lpCtrlTypefunc_t;

修改为:

  1. typedef struct {

  2.     

  3.    void (*lpByteWritefunc)(unsigned char src);

  4.    unsigned char (*lpByteReadfunc)(void);           /* 加上void */

  5.    void (*lpSwitchEnStatus)(cmdEntype_t cmd);

  6.    void (*paSwitchCmdfunc)(cmdpaType_t cmd);

  7.    void (*lpRecvDataTousr)(unsigned char *lpbuf,unsigned short length);

  8.    

  9. } lpCtrlTypefunc_t;


  1. unsigned char RF_SPI_READ_BYTE()

  2. {    

  3.    unsigned char j;

  4.    unsigned char i;

  5.    j=0;

  6.    for (i = 0; i < 8; i++){    

  7.      RF_CKL_H;

  8.      j = (j << 1);                         // shift 1 place to the left or shift in 0 //

  9.      if( SX1278_SDO )                             // check to see if bit is high //

  10.        j = j | 0x01;                      // if high, make bit high //

  11.                                                  // toggle clock high //

  12.      RF_CKL_L;                              // toggle clock low //

  13.    }

  14.   

  15.    return j;                                // toggle clock low //

  16. }


修改为:

  1. unsigned char RF_SPI_READ_BYTE(void)         /* 加上void */

  2. {    

  3.    unsigned char j;

  4.    unsigned char i;

  5.    j=0;

  6.    for (i = 0; i < 8; i++){    

  7.      RF_CKL_H;

  8.      j = (j << 1);                         // shift 1 place to the left or shift in 0 //

  9.      if( SX1278_SDO )                             // check to see if bit is high //

  10.        j = j | 0x01;                      // if high, make bit high //

  11.                                                  // toggle clock high //

  12.      RF_CKL_L;                              // toggle clock low //

  13.    }

  14.   

  15.    return j;                                // toggle clock low //

  16. }


关键字:stvd  stm8s  error 引用地址:stvd+stm8s: #error cpstm8 sx1276.c:70(35) missing prototype

上一篇:stvd+stm8s: The Flash Memory Read-out protection option must be disabled
下一篇:stvd+stm8s: ERROR:before starting debug session, please, select a target

推荐阅读

DMA部分我用到的相对简单,当然,可能这是新东西,我暂时还用不到它的复杂功能吧。下面用问答的形式表达我的思路。DMA有什么用? 直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU的干预,通过DMA数据可以快速地移动。这就节省了CPU的资源来做其他操作。有多少个DMA资源? 有两个DMA控制器,DMA1有7个...
国家能源局协调推进广西电网改造升级取得重要进展 广西新电力投资集团有限公司揭牌运行 农村地区电力保障问题,是国家能源局开展专项整治漠视侵害群众利益问题的重点内容。近日,在国家能源局的支持协调下,由南方电网广西电网公司控股90%,重组广西水利电业公司电网资产成立的新公司—广西新电力投资集团有限公司揭牌运行,为推进广西电网改造升级可...
德国慕尼黑法院于今年9月30日裁决联想侵犯了诺基亚的EP1433316专利,并下达了禁止令以及产品召回和损害赔偿。现据彭博社最新消息,诺基亚正寻求法院执行禁止令,阻止联想在德国销售个人电脑、笔记本电脑和平板电脑等产品,从而使专利授权之争升级。诺基亚表示:“法律行动从来不是我们的首选,但联想一直不愿参与谈判,尽管有明确的判决确认他们未经授权使...
花了近一个星期的时间学习I2C的驱动,将心得描述如下。I2C是一个典型的较简单的子系统,比较适合学习,因为I2C协议要比PCI等等简单得多。在mini2440上用I2C连了一块EEPROM的芯片。因此,在mini2440上面说I2C的驱动,主要是说怎么样通过I2C在这块EERPOM上面读写数据。有点像是这个EEPROM的驱动。先分析几个相关的结构体。其实有时觉得C语言就是以结构体为中...

史海拾趣

问答坊 | AI 解惑

一种基于多传感器的交通监控系统智能接口

摘 要: 提出了一种基于双端RAM 的多传感器智能接口设计方法。该智能接口能有效地对传感器数据进行进一步处理, 解决了计算机与各传感器之间的信息传输的瓶颈问题, 从而能有效地完成计算机与各传感器之间的信息传输和控制; 适用于交通监控系统的数据 ...…

查看全部问答∨

基于ARM的条码精密测量系统

摘要: 本文介绍了一种基于32位高性能处理器的视觉精密测量系统的软硬件设计。图像传感器采集的条码图像通过精密定位算法得到绝对位移值,由以太网接口实现高速图像采集。该系统适用于高精度定位的各种位移测量。 关键词: ARM;嵌入式系统;视觉 ...…

查看全部问答∨

基于单片机的酒瓶自动计数系统的设计

大家好啊,在这转悠了好几天,发现大家都是高手!我是一名专升本的学生,专科没有学过单片机本科学校因为大部分人都学过所以也就没开这门课,现在要做有关单片机的毕业设计,想请大家帮帮忙,谢谢了!     昨天问了一下老师那个设计一共 ...…

查看全部问答∨

Altera的用IP核设计的信号发生程序

本帖最后由 paulhyde 于 2014-9-15 09:24 编辑 Altera的用IP核设计的信号发生程序  …

查看全部问答∨

关于手机开发和JavaEE开发哪个好?

毕业在即,是选择JAVAEE的培训还是接受老师推荐,去做手机开发呢,前提是我是一个没有任何嵌入式基础的专科生。…

查看全部问答∨

如何将SMDK2440变成多个版本?例如我的产品210,对应的BSP是smdk2440210,产品220对应的是smdk2440220

本人菜鸟,现在碰到一个问题,希望向大家求助一下. 现在我的wince目录中的PLATFORM只有smdk2440一个bsp,这样产生了很多不方便的地方. 第一,目前有3个系列的产品,虽然都是基于2440的,但是在BSP上,还是有些地方是不同的,要维护这三个系列的产品.虽然 ...…

查看全部问答∨

急!ARM D/A转换程序实现多种波形输出

ARM D/A转换程序设计 1.编程实现多种波形(正弦波信号、三角波信号、方波信号)的输出,在 DA接口利用示波器观测实验输出。 2.在 LCD上显示信号…

查看全部问答∨

AVR与液晶的直接访问和间接访问

请假,利用AVR实现与液晶屏的访问,如果采用直接访问(给液晶屏分配一个地址空间),直接接到对应的地址和数据线上,对应的RD和WR信号分别接到AVR的RD和WR上。但是如果采用间接访问的话,液晶屏幕的RD和WR信号是不是一般不能接在对应AVR的RD和WR信 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved