1 stm32 定义常量不要code 关键字
// 定义全1 地址常量
static const uip_ipaddr_t code all_ones_addr =
#if UIP_CONF_IPV6
{0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff};
#else /* UIP_CONF_IPV6 */
{0xffff,0xffff};
#endif /* UIP_CONF_IPV6 */
//定义全0地址常量
static const uip_ipaddr_t code all_zeroes_addr =
#if UIP_CONF_IPV6
{0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000};
#else /* UIP_CONF_IPV6 */
{0x0000,0x0000};
#endif /* UIP_CONF_IPV6 */
2 为两个回调函数定义函数实体
#define UIP_APPCALL() uip_appcall() //宏定义注册回调函数
#define UIP_UDP_APPCALL() uip_udp_appcall() //宏定义注册回调函数
void uip_appcall(void)
{
}
void uip_udp_appcall(void)
{
}
3 MDK环境下 空指令函数修改
并且不要#include
//_nop_();
__nop();//在MDK环境下是__nop();
4 为uip 提供周期时钟
5 修改大小端配置
51 是大端,stm32 是小端
#define UIP_CONF_BYTE_ORDER UIP_LITTLE_ENDIAN //51是大端,stm32是小端
在uip_conf.h 文件中
6 修改类型定义
typedef unsigned short int u16_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 大容量芯片烧录出错
下一篇:stm32 系统嘀嗒(SysTick) 定时器
推荐阅读最新更新时间:2024-03-16 15:06
设计资源 培训 开发板 精华推荐
- 有奖下载Intel 最新白皮书《软件定义的联网和电信云端》
- 【最后1天】MPS 有奖倾诉|说出哪些年让你头大的电感应用问题,赢【颈部按摩仪、智能音箱】
- 【预约有礼】全球测量圈大咖直播:验证5G核心网,确保最佳性能
- 万用表,红外测温仪等你来拆!—— EEWorld拆你来玩拆解(第二期)
- 详述项目申请,可获 TI Stellaris开发板!
- ams圣诞礼物大作战:扫码、关注、玩游戏、赢礼!
- 【免费试用】DFRobot micro:bit编程小车-麦昆
- 有奖直播|2021年STM32峰会暨粉丝狂欢节
- 直播:TI SimpleLink MCU无线平台及软件介绍!丰富的提问礼在这里等你~
- 【EE团】开抢啦!!!TI超值工业级模拟器件套装芯片再次登场!!!