新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > stm32 移植uip

        stm32 移植uip

        作者: 時間:2016-11-13 來源:網絡 收藏

        1stm32定義常量不要code關鍵字

        //定義全1地址常量

        本文引用地址:http://www.104case.com/article/201611/316361.htm

        staticconstuip_ipaddr_tcodeall_ones_addr=

        #ifUIP_CONF_IPV6

        {0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff};

        #else/*UIP_CONF_IPV6*/

        {0xffff,0xffff};

        #endif/*UIP_CONF_IPV6*/

        //定義全0地址常量

        staticconstuip_ipaddr_tcodeall_zeroes_addr=

        #ifUIP_CONF_IPV6

        {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000};

        #else/*UIP_CONF_IPV6*/

        {0x0000,0x0000};

        #endif/*UIP_CONF_IPV6*/

        2為兩個回調函數定義函數實體

        #defineUIP_APPCALL()uip_appcall() //宏定義注冊回調函數

        #defineUIP_UDP_APPCALL()uip_udp_appcall()//宏定義注冊回調函數

        voiduip_appcall(void)

        {

        }

        voiduip_udp_appcall(void)

        {

        }

        3MDK環境下空指令函數修改

        并且不要#include

        //_nop_();

        __nop();//在MDK環境下是__nop();

        4為uip提供周期時鐘

        5修改大小端配置

        51是大端,stm32是小端

        #defineUIP_CONF_BYTE_ORDERUIP_LITTLE_ENDIAN//51是大端,stm32是小端

        在uip_conf.h文件中

        6修改類型定義

        typedefunsignedshortintu16_t;//和C51有點差別也是在uip_conf.h文件中

        7初始化TCP/IP通信必須用到的參數

        uip在運行過程中不會再去查詢網卡的mac地址,

        所以開始就要初始化mac地址

        uip_ipaddr(uip_hostaddr,192,168,1,198);

        uip_ipaddr(uip_draddr,192,168,1,100);

        uip_ipaddr(uip_netmask,255,255,255,0);

        uip_ethaddr.addr[0]=0x00;

        uip_ethaddr.addr[1]=0x0C;

        uip_ethaddr.addr[2]=0x29;

        uip_ethaddr.addr[3]=0xD2;

        uip_ethaddr.addr[4]=0x58;

        uip_ethaddr.addr[5]=0x6B;



        關鍵詞: stm32移植ui

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 富裕县| 南充市| 顺平县| 涪陵区| 舞阳县| 蓝山县| 博客| 嘉义市| 定边县| 鹿邑县| 沽源县| 贡觉县| 磴口县| 永兴县| 腾冲县| 曲沃县| 延吉市| 汉源县| 塔城市| 本溪市| 蓬莱市| 兴海县| 军事| 南开区| 哈巴河县| 广昌县| 慈利县| 遂平县| 拜泉县| 建平县| 读书| 晋宁县| 南昌县| 武乡县| 晴隆县| 德兴市| 渭南市| 孟州市| 吉木萨尔县| 乌兰县| 江源县|