アプリケーションからMACアドレスを設定できますか?

弊社TCP/IPプロトコルスタック「μNet3」に関するご質問
返信する
アバター
eForce技術担当
記事: 193
登録日時: 2014年4月24日(木) 14:18

アプリケーションからMACアドレスを設定できますか?

投稿記事 by eForce技術担当 » 2014年7月14日(月) 14:55

可能です。
μNet3ではデバイスのMACアドレスを広域変数gNET_DEV[n]に保持します。
(nはデバイスID-1)
アプリケーションプログラムは直接この変数にMACアドレスを設定します。
尚、MACアドレスの設定はプロトコルスタックやネットワークデバイスの
初期化前に実行する必要があります。以下にサンプルコードを示します。

コード: 全て選択

#include "net_hdr.h"
void cfg_mac(UH devid, UB *mac)
{
    T_NET_DEV *dev;
    dev = &gNET_DEV[devid-1];
    net_memcpy(dev->cfg.eth.mac, mac, 6);
}

ER net_setup(void)
{
    ER ercd;
    UH devid;
    UB mac[] = {0x12, 0x34, 0x56, 0x78, 0x9A, 0xBC}; /* MACアドレス*/

    devid = 1;  /* デバイスID */

    /* MACアドレスの設定 */
    cfg_mac(devid, mac);

    /* プロトコルスタックの初期化 */
    ercd = net_ini();
    if (ercd != E_OK) {
        return ercd;
    }

    /* ネットワークデバイスの初期化 */
    ercd = net_dev_ini(devid);
    if (ercd != E_OK) {
        return ercd;
    }
}

返信する