PIC18F上的Freemodbus与MPLAB X XC8

时间:2015-08-02 21:07:30

标签: modbus xc8

我试图通过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;,因为它有错误,所以你知道这个定义有什么不对吗?

谢谢,并致以最诚挚的问候

0 个答案:

没有答案