我试图通过MPLAB X ide和XC8编译器将freemodbus库调整为微芯片PIC18F。
我已尽可能多地纠正,目前我遇到的问题是关于sintaxis,
我想知道是否有人可以帮我解决下一个问题,在我的文件中我已经完成了与我的编译器匹配的类型声明,比如UCHAR = uint8 ...
在档案mbframe.h
中typedef eMBErrorCode( *peMBFrameReceive ) ( UCHAR * pucRcvAddress, UCHAR ** pucFrame, USHORT * pusLength );
我收到错误:
modbus / functions /../ includes / mbframe.h:77:错误:(194)")"预期
那里正在定义参数(pucRcvAddress,pucFrame,pusLength)好吗?
关于peMBFrameReceive我认为它在文件mb.c中声明:
static peMBFrameReceive peMBFrameReceiveCur;
没有错误,只有警告
modbus / mb.c:65:警告:(374)缺少基本类型; int假设
在mb.h中
/*! \ingroup modbus
* \brief Errorcodes used by all function in the protocol stack.
*/
typedef enum {
MB_ENOERR, /*!< no error. */
MB_ENOREG, /*!< illegal register address. */
MB_EINVAL, /*!< illegal argument. */
MB_EPORTERR, /*!< porting layer error. */
MB_ENORES, /*!< insufficient resources. */
MB_EIO, /*!< I/O error. */
MB_EILLSTATE, /*!< protocol stack in illegal state. */
MB_ETIMEDOUT /*!< timeout error occurred. */
} eMBErrorCode;
我理解的是&#34; typedef eMBErrorCode(...&#34;是定义,&#34;静态...&#34;是声明。
它无法找到类型&#34; peMBFrameReceive&#34;,因为它有错误,所以你知道这个定义有什么不对吗?
谢谢,并致以最诚挚的问候