完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
今天看到一段这样的代码
typedef enum { MB_ENOERR, /*! lt; no error. */ MB_ENOREG, /*! lt; illegal register address. */ MB_EINVAL, /*! lt; illegal argument. */ MB_EPORTERR, /*! lt; porting layer error. */ MB_ENORES, /*! lt; insufficient resources. */ MB_EIO, /*! lt; I/O error. */ MB_EILLSTATE, /*! lt; protocol stack in illegal state. */ MB_ETIMEDOUT /*! lt; timeout error occurred. */ } eMBErrorCode; eMBErrorCode eMBRegDiscreteCB( UCHAR * pucRegBuffer, USHORT usAddress, USHORT usNDiscrete ); 但是st的编译器ST Visual Develop 总是提示symbol _eMBRegDiscreteCB not defined; 求专家解释 |
|
相关推荐
1个回答
|
|
ST Visual Develop提示`symbol _eMBRegDiscreteCB not defined`的原因可能是由于以下几个方面:
1. **头文件缺失**:确保你已经包含了所有相关的头文件。如果`_eMBRegDiscreteCB`是在一个特定的库或模块中定义的,那么你需要确保已经正确地包含了这个库或模块的头文件。 2. **编译顺序问题**:如果你的项目中有多个源文件,可能存在编译顺序的问题。确保`_eMBRegDiscreteCB`定义所在的源文件在其他使用它的源文件之前被编译。 3. **符号冲突**:如果你的项目中存在多个版本的库或模块,可能会导致符号冲突。检查你的项目设置,确保没有重复包含或链接相同的库。 4. **编译器设置问题**:检查你的编译器设置,确保没有错误地设置宏定义或编译选项,这可能会影响符号的定义和链接。 关于你提供的代码片段,它是一个枚举类型的定义,用于表示Modbus协议中的一些错误代码。这个枚举类型定义了三个错误代码: - `MB_ENOERR`:表示没有错误。 - `MB_ENOREG`:表示非法的寄存器地址。 - `MB_EINVAL`:表示非法的参数。 这个枚举类型与`_eMBRegDiscreteCB`错误提示没有直接关系,但它们可能都涉及到Modbus协议的实现。确保你的项目中正确地包含了所有相关的头文件和库,以解决`_eMBRegDiscreteCB not defined`的问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1621 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1546 浏览 1 评论
980 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
686 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1599 浏览 2 评论
1865浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
647浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
517浏览 3评论
534浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
506浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 09:48 , Processed in 0.783012 second(s), Total 50, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号