历史上的今天
今天是: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。
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
史海拾趣
|
我国首张5.1声道DVD质量样板试机碟由中国音像制品评价制作中心研制成功。 该试机碟采用DOBY AC-3和DTS两种解码方式。其主要内容包括5.1声道的基本概念、声频测试信号和重放系统校准程序、视频测试信号和重放系统校准程序,为该试机碟专 ...… 查看全部问答> |
|
比方说,我现在手头有100个nand要烧wince image(现在假定这100个nand都是完好的,质量perfect的),一种方法是一个一个用jtag烧,虽然笨一点,但肯定有效;但我想用nand拷贝的方式,就是用jtag烧写一个nand,然后用这个nand作为母片,然后克隆剩下的 ...… 查看全部问答> |
|
由于硬件不支持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不相同的包不接收。因为如果用单片机来控制网卡芯片,单片机本身速度比较慢内存也比较少,如果什么包都处理有可能来不及,内存也不够。我 ...… 查看全部问答> |
|
机电池的使用寿命是有限的,所以有时候手机还好好的,但电池已经很不经用了,这个时候,买一块新的手机电池就成为必须的了。作为一个手机用户,面对市场上泛滥成灾的假冒伪劣电池该如何选择呢?下面,笔者就教你几招,希望能帮助大家提高对手机电池 ...… 查看全部问答> |
|
2812的存储空间分配 : 2812 的片内存储器共128K 分高64K 和底64K 分别映射到24X和240X的程序空间和数据空间 但2812还有128K 的FLASH 和2812 的片内存储器共128K这句话矛盾了 请高手帮忙回答一下… 查看全部问答> |
|
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 ...… 查看全部问答> |




