历史上的今天

今天是: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

推荐阅读

从3月份开始看arm的裸机程序,到现在一个半月了,做到后来,发现自己越做到综合的程序,越吃力,还是得回头看看,为了最终写一个bootloader打下点基础吧,所以以这篇文章为开始,总结一下之前做过的裸机程序,希望会有所收获,我用的开发板是友善之臂的mini2440。首先声明一点我都是在linux环境下写裸机程序的,因为这样能知道更多底层的东西,不过在这里...
据外媒报道,尽管最新款iPhone手机刚刚发布,但有关其明年新款的传闻已经开始蔓延。根据市场研究公司Wedbush的一位分析师丹·艾维斯(Dan Ives)获悉的泄露信息,iPhone或将在2020年发布五款新机型,其中至少两款将搭载5G技术。艾维斯表示,2020年,除了4款iPhone 12之外,我们还将有望在2020年3月份看到iPhone SE 2的上市。若报道属实,我们或许还会...
嘲讽也罢,夸赞也罢,终究全新的iPhone 12系列新机以耀眼的销售成绩说明了一切。接来下大家得到目光就纷纷集中了在即将正式亮相的全新华为Mate40系列旗舰上,究竟它能带来什么样的表现呢?根据此前官宣的消息,华为将于北京时间10月22日晚8点举办全球发布会,届时全新的华为Mate40系列旗舰将正式亮相。而随着发布时间的日益临近,关于该机的外观和配置细...
AVR 控制和状态寄存器提供了有关引起AVR复位的复位源的信息。· Bit 7..4 – Res: 保留位ATmega48/88/168中的这些位都没有适用,读返回值始终为 "0”。· Bit 3 – WDRF: 看门狗复位标志看门狗复位发生时置位。上电复位将使其清零,也可以通过写”0” 来清除。· Bit 2 – BORF: 掉电检测复位标志掉电检测复位发生时置位。上电复位将使...

史海拾趣

问答坊 | AI 解惑

一份较详细的数字后端流程介绍

数字后端流程 1.        数据准备。对于 CDN 的 Silicon Ensemble而言后端设计所需的数据主要有是Foundry厂提供的标准单元、宏单元和I/O Pad的库文件,它包括物理库、时序库及网表库,分别以.lef、.tlf和.v的形 ...…

查看全部问答∨

Verilog HDL语言在FPGA/CPLD开发中的应用

摘 要:通过设计实例详细介绍了用Verilog HDL语言开发FPGA/CPLD的方法,并通过与其他各种输入方式的比较,显示出使用Verilog HDL语言的优越性。 关键词: Verilog HDL;FPGA/CPLD;EDA 1 引言 近30年来,由于微电子学和计算机科学的迅速发展, ...…

查看全部问答∨

U-BOOT下使用bootm引导内核方法

注:   u-boot 使用的是打上: http://www.hhcn.com/cgi-bin/topic.cgi?forum=3&topic=651&show=0 上keety大侠提供的补丁生成的u-boot-1.1.3 这段时间不断有人问我u-boot启动内核的问题,记得在上次提供的u-boot源码中提到 ...…

查看全部问答∨

wince ocx控件注册问题

我用EVC4.0建的Active X工程,不添加任何代码,在wince5.0模拟器上,将x86目录下的regsvrce和.ocx文件拷贝到/windows目录下,运行regsvrce xxx.ocx注册控件,跳出loadlibrary xxx.ocx failed。这是怎么回事啊,哪位大侠注册过wince下的ocx请指教…

查看全部问答∨

紧急求助

各位高手们,本人有一选型问题要求助呀,我现在决定用MSP430单片机做一个温度压力的变送器,要求是低功耗,有实时时钟系统,两个模拟量输入,1KB的EEPROM,体积小,引脚少,用于定时采样两路模拟量,但是现在不知道选哪个型号的MSP430,希望各位高手给点建议, ...…

查看全部问答∨

谁用过ITG3200呀

现在正想研究陀螺仪,想问一下ITG3200的各种参数,误差是多少,技术文档看不懂,也可以给我介绍一下其他别的型号的陀螺仪,说明一下参数…

查看全部问答∨

Zigbee无线模块|TI CC2530芯片|兼容GPS1613封装|透明传输

一、模块功能 HCV104是一款1613小封装模块,专为低成本、低功耗、低电压、工作在2.4GHz的ISM频段的无线Zigbee模块,基于IEEE 802.15.4协议开发,主要应用在LED路灯、办公场所及家庭、工业等LED调光领域。系统采用了标准ZIGBEE无线技术,符合工业标 ...…

查看全部问答∨

uint16和unsigned int 的问题

在模块化编程里面 在.c文件里定义一个函数 void LedDisplay(uint16  pBuff[]),   然后在.h文件里声明这个函数extern void LedDisplay(uint16  pBuff[]);   uint16在一个头文件里定义了,这个.c文件里也包含这个重定义头文 ...…

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

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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