如何将以下的C代码改为Objective-c

delandwu 2014-08-13 08:47:54
CRC函数是校验 Mode, Frequency,Pulse width,Intensity,Wave, Duration的数据,
例如:
U8 test[6];
test[0] = Mode;
test[1] = Frequency;
test[2] = Pulse width;
test[3] = Intensity;
test[4] = Wave;
test[5] = Duration;
CRC = CRC8(test,6);

具体代码:
u8 CRC8(u8 *pBuffer, u8 len)
{
u8 count = 0, dummy = 0, crc = 0;
for(count = 0; count < len; count++, pBuffer++)
{
dummy = *pBuffer ^ crc;
crc = 0;
if(dummy & 0x01)
crc ^= 0x5e;
if(dummy & 0x02)
crc ^= 0xbc;
if(dummy & 0x04)
crc ^= 0x61;
if(dummy & 0x08)
crc ^= 0xc2;
if(dummy & 0x10)
crc ^= 0x9d;
if(dummy & 0x20)
crc ^= 0x23;
if(dummy & 0x40)
crc ^= 0x46;
if(dummy & 0x80)
crc ^= 0x8c;
}
crc &= 0x7f;
return(crc);
}
...全文
361 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
delandwu 2014-08-27
  • 打赏
  • 举报
回复
引用 11 楼 disburden 的回复:
[quote=引用 10 楼 delandwu 的回复:] CRC = CRC8(test,6); 提示Implicit declaration of function 'CRC8' is invalid in C99
会不会是扩展名没有改成.mm[/quote] 这个文件不是c,是obj-c
不担心 2014-08-26
  • 打赏
  • 举报
回复
引用 10 楼 delandwu 的回复:
CRC = CRC8(test,6); 提示Implicit declaration of function 'CRC8' is invalid in C99
会不会是扩展名没有改成.mm
delandwu 2014-08-26
  • 打赏
  • 举报
回复
CRC = CRC8(test,6); 提示Implicit declaration of function 'CRC8' is invalid in C99
delandwu 2014-08-25
  • 打赏
  • 举报
回复
CRC = CRC8(test,6); 提示Implicit declaration of function 'CRC8' is invalid in C99
里沃特 2014-08-15
  • 打赏
  • 举报
回复
注意前面是大写 U8,后面是小写 u8。 我复制代码到 xcode 里面试了下,u8 改成为 unsigned char 是可以的了。
ViewerP 2014-08-15
  • 打赏
  • 举报
回复
变量声明基本一样,该下函数声明和定义就可以
-(u8)CRC8:(u8)*pBuffer:(u8)len
delandwu 2014-08-13
  • 打赏
  • 举报
回复
但这段代码不能运行
Bannings 2014-08-13
  • 打赏
  • 举报
回复
+1
引用 1 楼 dream238 的回复:
oc可以嵌入c代码的,直接用就行了...
引用 1 楼 dream238 的回复:
oc可以嵌入c代码的,直接用就行了...
阮小木 2014-08-13
  • 打赏
  • 举报
回复
c和c++都可以嵌到oc中,
ArcRain 2014-08-13
  • 打赏
  • 举报
回复
oc可以嵌入c代码的,直接用就行了...
soaringbird 2014-08-13
  • 打赏
  • 举报
回复
编译时提示哪一行有错误改就是了

29,028

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧