永发信息网

在keil里面出现这样的错误!!?为什么呢!

答案:2  悬赏:70  手机版
解决时间 2021-04-12 05:18
下面是出错误的那块代码:

static int probeDaisyChain (vdaaChanType *pVdaa){
int i=0;
WriteReg(pVdaaHW,BROADCAST,PCMRX_CNT_LO,0x23);
while ((ReadReg(pVdaaHW,(uInt8)i++,PCMRX_CNT_LO) == 0x23)&&(i<=16));
return i-1;
}

出错的位置:WriteReg(pVdaaHW,BROADCAST,PCMRX_CNT_LO,0x23);
出错的提示:
VDAA.C(105): error C212: indirect call: parameters do not fit within registers
最佳答案
应该是函数调用出了问题,参数的个数大于传递参数的寄存器数而出的错,也就是四个参数太多了,超过了能接受的范围吧。我采用比较笨的方法解决的:把你的WriteReg(a,b,c,d)函数拆分为两个函数实现其功能;当然有别的采用函数指针的方法,那个我也不太清楚怎么用。
全部回答
看你的信息,你那个是在ni.c文件里,也就是说,你的是c语言文件? 但是你有这么一句: parser->handledatavalue( 0, parser_code_raw_signal, 2, parser->payload, parser->customdata ); 显而易见,你的那个parser是一个结构体的指针,而你的这个结构体里有函数: handledatavalue(,,,) 是这样的,c语言里,结构体是不允许有函数的,c语言的结构体里不允许有函数的存在,c++里可以,c语言不行.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
人们在电影院里观看银幕上出现的情景,这些情
想进入大学继续学习
互联网会消完吗?
身高162三围标准是多少.
为我和男友的狗狗(手机宠物)取个可爱一点的哦
好小子专业染烫总店这个地址在什么地方,我要
证明一瓶由地窖中取出的气体含有较高浓度的CO
希特勒麾下有那些爱将?(详细介绍每个人的特
诛仙2怎么快速练级
考生编号找不到了,怎么查询成绩
吸粉推广是犯法的吗
旭字怎么写,旭字用哪个国家文字写最漂亮
打喷嚏和咳嗽时有时会引起腰部不适<疼或酸>
问道100级 满工资多少
如何让宠物挂上多个徽章
推荐资讯
DNF广东9夺命毒龙可以卖多少钱?
单选题下列四组句点词,含义相同的一组是A.思
润SPA地址在什么地方,想过去办事
中国都有什么武术派别?
洪杰汽车美容中心这个地址在什么地方,我要处
生男生女有区别么?为什么现在还是重男轻女?
光大银行智能商务白金信用卡会封卡吗
诛仙2里面那个门派厉害
爱馨寿司(维港城店)在什么地方啊,我要过去处
汽车维修车间安全标语,维修车间标语
妈妈很多嘴怎么办?
秀美时尚在什么地方啊,我要过去处理事情
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?