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。
typedef struct {
void (*lpByteWritefunc)(unsigned char src);
unsigned char (*lpByteReadfunc)();
void (*lpSwitchEnStatus)(cmdEntype_t cmd);
void (*paSwitchCmdfunc)(cmdpaType_t cmd);
void (*lpRecvDataTousr)(unsigned char *lpbuf,unsigned short length);
} lpCtrlTypefunc_t;
修改为:
typedef struct {
void (*lpByteWritefunc)(unsigned char src);
unsigned char (*lpByteReadfunc)(void); /* 加上void */
void (*lpSwitchEnStatus)(cmdEntype_t cmd);
void (*paSwitchCmdfunc)(cmdpaType_t cmd);
void (*lpRecvDataTousr)(unsigned char *lpbuf,unsigned short length);
} lpCtrlTypefunc_t;
unsigned char RF_SPI_READ_BYTE()
{
unsigned char j;
unsigned char i;
j=0;
for (i = 0; i < 8; i++){
RF_CKL_H;
j = (j << 1); // shift 1 place to the left or shift in 0 //
if( SX1278_SDO ) // check to see if bit is high //
j = j | 0x01; // if high, make bit high //
// toggle clock high //
RF_CKL_L; // toggle clock low //
}
return j; // toggle clock low //
}
修改为:
unsigned char RF_SPI_READ_BYTE(void) /* 加上void */
{
unsigned char j;
unsigned char i;
j=0;
for (i = 0; i < 8; i++){
RF_CKL_H;
j = (j << 1); // shift 1 place to the left or shift in 0 //
if( SX1278_SDO ) // check to see if bit is high //
j = j | 0x01; // if high, make bit high //
// toggle clock high //
RF_CKL_L; // toggle clock low //
}
return j; // toggle clock low //
}
上一篇:stvd+stm8s: The Flash Memory Read-out protection option must be disabled
下一篇:stvd+stm8s: ERROR:before starting debug session, please, select a target
推荐阅读
史海拾趣
面对全球电子市场的激烈竞争,艾吉芯公司积极实施国际化战略。通过在海外设立研发中心和生产基地,艾吉芯成功将其先进的技术和优质的产品推向国际市场。同时,公司还积极参与国际行业交流和合作,不断提升自身的国际化水平和竞争力。
在电子行业快速发展的浪潮中,Cotco公司于XXXX年正式成立,由几位在电子行业有着丰富经验的企业家和技术专家共同创立。初期,公司专注于电子元器件的分销和贸易,凭借创始团队成员在行业内的人脉和资源,Cotco很快与多家知名电子元器件制造商建立了合作关系,开始为客户提供优质的元器件采购服务。随着市场需求的不断增长,Cotco的业务也逐渐扩展,开始涉足电子产品的设计和生产领域。
除了航空领域,庞巴迪公司在铁路运输方面也取得了重要进展。其生产的CITYFLO系列自动列车控制系统在全球范围内得到了广泛应用。该系统采用了先进的电子技术和算法,实现了列车的自动驾驶和精确控制,大大提高了铁路运输的安全性和效率。此外,庞巴迪还生产了各种铁路车辆和相关电子设备,为全球铁路运输业的发展做出了重要贡献。
以上五个故事展示了庞巴迪公司在电子行业发展中的关键历程和成就。从水上飞机到现代商用喷气客机,从航空电子系统到铁路运输控制系统,庞巴迪凭借其卓越的技术实力和创新能力,在电子行业中树立了杰出的品牌形象。
随着全球航空市场的不断变化,庞巴迪公司在商用航空领域也取得了显著成就。其生产的CRJ系列区域喷气客机和Q系列涡桨飞机在全球范围内广受欢迎。这些飞机配备了先进的电子设备和系统,提供了更高的安全性和舒适性。庞巴迪还推出了C系列单通道中距客机,该机型以其环保、经济和人性化的设计赢得了市场的广泛认可。
长江微电(CJIANG)自创立以来,始终专注于电感产品的材料研发、技术研发、生产工艺和生产设备的研发和改进。面对国外品牌在电感技术领域的领先地位,长江微电并未退缩,而是选择迎难而上。通过多年的努力,其技术团队基于对磁性材料的深入研究和对生产工艺的不断改进,成功突破了VISHAY等国外品牌的技术壁垒,拥有了全系列的一体成型电感产品。这一突破不仅彰显了长江微电的技术实力,也为公司的发展奠定了坚实基础。
在市场竞争日益激烈的情况下,Chiefdom Electronic Co Ltd注重创新营销策略,以吸引更多消费者的关注。公司推出了一系列具有针对性的广告宣传活动,利用社交媒体、网络直播等新媒体渠道进行广泛传播。同时,公司还积极参与各类电子展会和论坛,展示其最新技术和产品,与潜在客户建立联系。这些创新营销策略使得公司的品牌知名度和美誉度不断提升,进而带动了销售业绩的稳步增长。
摘 要: 提出了一种基于双端RAM 的多传感器智能接口设计方法。该智能接口能有效地对传感器数据进行进一步处理, 解决了计算机与各传感器之间的信息传输的瓶颈问题, 从而能有效地完成计算机与各传感器之间的信息传输和控制; 适用于交通监控系统的数据 ...… 查看全部问答∨ |
摘要: 本文介绍了一种基于32位高性能处理器的视觉精密测量系统的软硬件设计。图像传感器采集的条码图像通过精密定位算法得到绝对位移值,由以太网接口实现高速图像采集。该系统适用于高精度定位的各种位移测量。 关键词: ARM;嵌入式系统;视觉 ...… 查看全部问答∨ |
大家好啊,在这转悠了好几天,发现大家都是高手!我是一名专升本的学生,专科没有学过单片机本科学校因为大部分人都学过所以也就没开这门课,现在要做有关单片机的毕业设计,想请大家帮帮忙,谢谢了! 昨天问了一下老师那个设计一共 ...… 查看全部问答∨ |
|
如何将SMDK2440变成多个版本?例如我的产品210,对应的BSP是smdk2440210,产品220对应的是smdk2440220 本人菜鸟,现在碰到一个问题,希望向大家求助一下. 现在我的wince目录中的PLATFORM只有smdk2440一个bsp,这样产生了很多不方便的地方. 第一,目前有3个系列的产品,虽然都是基于2440的,但是在BSP上,还是有些地方是不同的,要维护这三个系列的产品.虽然 ...… 查看全部问答∨ |
|
ARM D/A转换程序设计 1.编程实现多种波形(正弦波信号、三角波信号、方波信号)的输出,在 DA接口利用示波器观测实验输出。 2.在 LCD上显示信号… 查看全部问答∨ |
|
请假,利用AVR实现与液晶屏的访问,如果采用直接访问(给液晶屏分配一个地址空间),直接接到对应的地址和数据线上,对应的RD和WR信号分别接到AVR的RD和WR上。但是如果采用间接访问的话,液晶屏幕的RD和WR信号是不是一般不能接在对应AVR的RD和WR信 ...… 查看全部问答∨ |