逍遥派掌门人 发表于 2024-6-11 09:42:05

STC32G12K128 程序求解|已解决

本帖最后由 STCAI 于 2024-6-11 10:59 编辑

这是一段代码,在 C51里编译通过,移植到 C251时,报错了,请教如何解决?

struct abc
{
BYTE volatile r_buffer;

BYTE volatile r_length;

};


struct abc ddd;


BYTE serial_0_checksum(BYTE *p,BYTE length)
{
BYTE temp=0,checksum=0;

for(temp=0; temp < length; temp++)
{
      checksum += *p++;
}

return checksum;
}


if (serial_0_checksum(ddd.r_buffer,(ddd.r_length - 1)) == ddd.r_buffer)   /* 出错点*/
{
         
}

错误提示: warning C188: 'parameter 2': value truncated

逍遥派掌门人 发表于 2024-6-11 09:57:02

弄成这样:

if (serial_0_checksum(ddd.r_buffer, (BYTE)(ddd.r_length - 1)) == ddd.r_buffer[(BYTE)(ddd.r_length - 1)])   

编译通过。

结帖!      
页: [1]
查看完整版本: STC32G12K128 程序求解|已解决