历史上的今天
返回首页

历史上的今天

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

正在发生

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

2021-10-21 来源:eefocus

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. }


推荐阅读

史海拾趣

General Electric Solid State公司的发展小趣事

首先,需要澄清的是,直接关于“General Electric Solid State”公司的发展故事在现有的参考资料中并不详尽,因为“General Electric Solid State”可能并不是一个独立的公司名称,而是指通用电气公司(General Electric Company,简称GE)在固态技术或固态电子领域的业务或产品部门。以下是根据通用电气公司在电子行业,特别是固态技术领域的发展历程,提炼出的五个相关故事:

1. 固态技术的早期探索

背景:在20世纪中后期,随着半导体技术的飞速发展,通用电气公司(GE)作为电气行业的领导者,迅速投入到了固态技术的研发中。这一时期,GE的工程师们致力于开发更高效的固态器件,如晶体管、集成电路等,以替代传统的电子管设备。

发展:GE的研究团队在固态材料的选择、制造工艺的优化以及性能提升方面取得了显著进展。这些成果不仅推动了GE自身产品的升级换代,也为整个电子行业向固态化、集成化方向发展奠定了基础。

2. 固态器件在电力系统中的应用

背景:电力系统是GE的传统优势领域之一。随着固态技术的成熟,GE开始将固态器件应用于电力系统中,以提高电力系统的效率和可靠性。

应用:GE研发了一系列基于固态技术的电力电子设备,如固态继电器、固态断路器、固态变压器等。这些设备在电力系统中扮演着重要角色,能够有效减少能源损耗、提高电力传输效率,并增强电力系统的稳定性和安全性。

3. 固态照明技术的突破

背景:通用电气公司的创始人托马斯·爱迪生因发明电灯而闻名于世。进入21世纪后,GE继续在照明领域深耕,将固态技术应用于照明产品中。

成果:GE成功推出了LED(发光二极管)照明产品,这些产品具有能效高、寿命长、环保等优点。GE的LED照明技术不仅应用于家庭和商业照明领域,还广泛应用于户外照明、工业照明等多个场景,为全球节能减排事业做出了贡献。

4. 固态传感器与工业自动化

背景:随着工业自动化水平的不断提高,对传感器的精度、稳定性和可靠性提出了更高的要求。GE凭借其在固态技术方面的积累,开始研发高性能的固态传感器。

应用:GE的固态传感器在工业自动化领域得到了广泛应用,如温度传感器、压力传感器、加速度传感器等。这些传感器能够实时监测设备的运行状态和环境参数,为工业自动化控制提供精准的数据支持。

5. 固态技术在医疗设备中的创新

背景:医疗设备对技术的要求极高,尤其是在精确性和可靠性方面。GE作为医疗设备领域的领军企业之一,不断将固态技术引入医疗设备的研发中。

创新:GE利用固态技术开发出了一系列创新的医疗设备,如固态成像设备(如CT、MRI等)、固态激光治疗器等。这些设备在医疗诊断、治疗等方面发挥了重要作用,提高了医疗服务的效率和质量。

请注意,以上故事是基于通用电气公司在电子行业,特别是固态技术领域的整体发展历程进行提炼的。由于“General Electric Solid State”并非一个明确的公司名称,因此故事中的具体细节可能需要根据GE的实际情况进行适当调整和补充。

ERGOBAHCO公司的发展小趣事

在快速发展的同时,ERGOBAHCO公司始终不忘履行社会责任和推动可持续发展。公司积极参与社会公益事业,捐款捐物支持贫困地区的教育、医疗等事业。同时,ERGOBAHCO公司还注重环保和节能减排工作,通过引进先进的环保技术和设备,实现了生产过程的绿色化、低碳化。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实基础。

Honeywell公司的发展小趣事

背景:霍尼韦尔公司的历史可以追溯到1885年,由发明家艾伯特·布兹在美国明尼阿波利斯创立布兹电子温度调节器公司。

发展:布兹成功研发出了一种名为“风门挡板”的装置,该装置能够自动调节室内温度,这是当时的一大技术突破。随着业务的不断发展,布兹电子温度调节器公司被统一温度控制公司收购,并在1893年更名为电子供热调节器公司。

关键事件:1898年,电子供热调节器公司被W.R. Sweatt收购,并于1916年更名为明尼阿波利斯热调节器公司。这一系列的更名和收购奠定了霍尼韦尔在恒温器领域的基础。

Great American Electronics公司的发展小趣事

背景:随着科技的进步,霍尼韦尔开始将目光投向更广阔的领域,其中航空航天成为重要的发展方向。

发展:霍尼韦尔在航空航天领域取得了多项技术突破,其仪器仪表和控制系统在多个重要项目中发挥了关键作用。其中,最著名的莫过于1969年阿波罗11号登月任务中,霍尼韦尔的仪器仪表为宇航员提供了稳定的控制和导航支持。

关键事件:阿波罗11号任务的成功不仅展示了霍尼韦尔在航空航天领域的实力,也进一步提升了公司的国际声誉和市场地位。

Amerace Electronic Components公司的发展小趣事

Amerace Electronic Components公司注重企业文化的塑造和传播。公司倡导团结、创新、诚信、共赢的企业精神,鼓励员工积极进取、勇于创新。同时,Amerace还注重员工福利和职业发展,为员工提供良好的工作环境和晋升机会。这种积极向上的企业文化使得Amerace的员工队伍保持稳定和高效,为公司的发展提供了有力保障。

这些故事展示了Amerace Electronic Components公司在电子行业中的发展历程和取得的成就,突显了其在技术创新、全球市场扩张、质量管理、环保理念践行以及企业文化塑造等方面的努力和成果。

Abilis Systems公司的发展小趣事

Amerace Electronic Components公司自成立以来,一直致力于电子元件的技术创新。在早期的发展阶段,公司投入大量资源进行研发,成功推出了一系列具有创新性的电子元件产品,如高精度电阻器和电容器。这些产品在市场上获得了广泛的认可,为公司赢得了良好的声誉。随着技术的不断进步,Amerace持续引领行业创新,为电子行业带来了更多高性能、高可靠性的元件产品。

问答坊 | AI 解惑

5.1声道DVD质量样板试机碟

我国首张5.1声道DVD质量样板试机碟由中国音像制品评价制作中心研制成功。  该试机碟采用DOBY AC-3和DTS两种解码方式。其主要内容包括5.1声道的基本概念、声频测试信号和重放系统校准程序、视频测试信号和重放系统校准程序,为该试机碟专 ...…

查看全部问答>

求教wince下nand拷贝的问题

比方说,我现在手头有100个nand要烧wince image(现在假定这100个nand都是完好的,质量perfect的),一种方法是一个一个用jtag烧,虽然笨一点,但肯定有效;但我想用nand拷贝的方式,就是用jtag烧写一个nand,然后用这个nand作为母片,然后克隆剩下的 ...…

查看全部问答>

关于MLC的4bit ECC/EDC算法,能否进来指点下

由于硬件不支持MLC的4bit ECC/EDC 所以需要软件来实现 兄弟们觉得这个可行性如何? 软件实现的话,性能要打多大的折扣? 关于MLC用到的4bit ECC/EDC 的算法,兄弟们能给个资料或者什么的吗? 贴个链接也行   感谢…

查看全部问答>

请问哪位XD有华邦W83L528D芯片的XP驱动和PDF文档? 或者什么型号的笔记本电脑用到这个芯片。

请问哪位XD有华邦W83L528D芯片的XP驱动和PDF文档? 或者什么型号的笔记本电脑用到这个芯片。…

查看全部问答>

网卡芯片(如RTL8019或DM9000A等)有按MAC地址来自动过滤发来的数据包的功能吗?即:目的MAC地址与自已的MAC不相同的包不接收

网卡芯片(如RTL8019或DM9000A等)有按MAC地址来自动过滤发来的数据包的功能吗?即:目的MAC地址与自已的MAC不相同的包不接收。因为如果用单片机来控制网卡芯片,单片机本身速度比较慢内存也比较少,如果什么包都处理有可能来不及,内存也不够。我 ...…

查看全部问答>

开发环境兼容问题

问高手一个问题:手上有个项目,别人想跟我合作,开发交通管理用的移动终端,移动终端定期与同步服务器同步数据,下面这种环境配置可以吗?移动终端:操作系统用windows ce(4.2?5.0?那个版本可以呢?要能支持中文),应用系统开发工具用vs.net( ...…

查看全部问答>

教你如何辨别手机电池真伪

机电池的使用寿命是有限的,所以有时候手机还好好的,但电池已经很不经用了,这个时候,买一块新的手机电池就成为必须的了。作为一个手机用户,面对市场上泛滥成灾的假冒伪劣电池该如何选择呢?下面,笔者就教你几招,希望能帮助大家提高对手机电池 ...…

查看全部问答>

2812的存储空间分配

2812的存储空间分配 : 2812 的片内存储器共128K  分高64K 和底64K   分别映射到24X和240X的程序空间和数据空间  但2812还有128K 的FLASH 和2812 的片内存储器共128K这句话矛盾了  请高手帮忙回答一下…

查看全部问答>

请教关于485通信的问题

通过485通信,串口调试助手能显示收到了数据,但内容显示不出来,但用超级终端内容就都能显示出来,为什么啊?…

查看全部问答>

Getting Started with the Stellaris LaunchPad- Chapter 1

$(\'flv_R45\').innerHTML=(AC_FL_RunContent(\'width\', \'600\', \'height\', \'475\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', \'http://www.tudou.com/v/EYWeuQir4c8/&rpid=106547959&resourceId=1065 ...…

查看全部问答>