2.modbus主流程分析

qq_34738528發表於2020-11-03

 

概述

本篇主要介紹main函式以及mb.c檔案,通過這兩部分,我們能夠從整體上分析FreeModbus。

一、從main函式說起

開啟FreeModbus資料夾中的demo資料夾,該資料夾下是各個平臺下的demo,這裡我們選擇AVR平臺來分析。
開啟AVR資料夾下的demo.c檔案,main函式程式碼如下:

int
main( void )
{
    const UCHAR     ucSlaveID[] = { 0xAA, 0xBB, 0xCC };
    eMBErrorCode    eStatus;

    eStatus = eMBInit( MB_RTU, 0x0A, 0, 38400, MB_PAR_EVEN );  

    eStatus = eMBSetSlaveID( 0x34, TRUE, ucSlaveID, 3 );
    sei(  );

    /* Enable the Modbus Protocol Stack. */
    eStatus = eMBEnable(  );

    for( ;; )
    {
        ( void )eMBPoll(  );

        /* Here we simply count the number of poll cycles. */
        usRegInputBuf[0]++;
    }
}

要想使用FreeModbus,這裡只要呼叫三個函式即可,即eMBInit()eMBEnable()eMBPoll()三個函式,這三個函式的功能如下:

<
名稱

相關文章