找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1926|回复: 3
收起左侧

C51单片机报错error C237,明明没有重名函数啊?

[复制链接]
ID:735654 发表于 2020-11-3 17:03 | 显示全部楼层 |阅读模式
最近写一个硬件I2C驱动,程序中调试的错误码是error C237: : function already has a body
/*代码如下(未完工)*/
/*定义I2C控制寄存器命令*/
#define wait 0x80
#define start 0x81
#define txdc 0x82
#define rack 0x83
#define rxdc 0x84
#define tack 0x85
#define stop 0x86
#define start_txdc_rack 0x89
#define txdc_rack 0x8a
#define rxdc_ack 0x8b
#define rxdc_nak 0x8c
/*定义I2C主机读写控制指令*/
#define rd 1
#define wt 0
/*定义I2C主机状态命令*/
#define ack_t 0x01
#define ack_r 0x02
i2c_init(uc i2c_s_add,uc rw)  /*片内I2C硬件驱动器初始化函数*/
{
iuc combuf;
I2CCFG=0xfe; /*启动I2C,设置本机为主机,波特率为86400*/
combuf=i2c_s_add<<1; /*器件地址左移1位*/
if(rw && combuf%2) /*如果指令为读,且左移过后地址合法(0-127之间)*/
  {
  combuf|=0x01; /*将最低位设置为1*/
  }
whl(I2CMSST & ack_r) /*等待标志位*/
  {
  ;
  }
I2CMSST |= 0x02; /*恢复标志位*/
I2CMSCR=start;
I2CTXD=combuf;
}

/*取消宏定义*/
#undef ack_t
#undef ack_r
#undef rd
#undef wt
#undef wait
#undef start
#undef txdc
#undef rack
#undef rxdc
#undef tack
#undef stop
#undef start_txdc_rack
#undef txdc_rack
#undef rxdc_ack
#undef rxdc_nak
#undef SCL
#undef SDA

回复

使用道具 举报

ID:88256 发表于 2020-11-3 21:39 | 显示全部楼层
连程序都没贴完整,叫人怎么帮忙啊?
回复

使用道具 举报

ID:833190 发表于 2020-11-4 10:06 | 显示全部楼层
如果程序只是这些,应该不会出现那个错误。
回复

使用道具 举报

ID:735654 发表于 2020-11-4 19:29 | 显示全部楼层
反正没有重名函数
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表