LwIP
文章平均质量分 73
欲盖弥彰1314
如有一味绝境,非历十方生死。
展开
-
Linux应用程序等待工位板指令应答超时500ms左右才等到应答问题(LwIP)定位排查
从物理层面检测出现超时500ms时的控制指令和应答信号之间的时间间隔:使用逻辑分析抓取两条指令的时间间隔,发现接收到控制指令到缴费机工位板发出应答300us左右。应用程序控制缴费机工位板的指令和缴费机回复应答的时间之间不能超过500ms, 但是搞Linux应用同事测试一段时间就会出现应答发送超时的问题。控制指令数据接收和应答数据的发送都要经过控制器(类似网关)的转发,所以判断应答是控制器转发协议出现了延时。检查控制打印的出问题时间控制指令和应答的时间间隔发现控制器的发送也不存在超时500ms左右。原创 2023-08-03 14:02:43 · 393 阅读 · 0 评论 -
LwIP以太网在初始化过程中卡死整个程序的问题排查解决
在将程序优化等级改为不优化才很容易测出来hardfault问题,而在有优化的时候的,编译器可能优化了代码不容易出现问题,所以调试程序问题最好还是将优化等改为不优化,才更容易发现问题。原创 2023-08-02 09:52:34 · 1377 阅读 · 0 评论 -
LwIP RAW API TCP服务端客户端编程及问题
在测试过程中出现客户端连接上后又断开,一直在反复重连,调试很久一段时间发现是有因为没有。客户端应用程序主动调用tcp_close()终止一个TCP连接。用于服务端程序,在接收连接前必须让TCP处于监听状态。当TCP连接成功connected回调函数就会被调用。将本地的 IP 地址、端口号与一个控制块进行绑定。所以数据的处理和应用程序编写就在该回调函数中实现。TCP客户端使用该函数主动发起连接。用于服务端,处理客户端连接。客户端编程就比较简单了。原创 2023-06-29 13:52:41 · 2795 阅读 · 0 评论 -
LwIP RAW API 实现UDP多播收发
LwIP RAW API 实现UDP多播收发实现1、初始化static struct udp_pcb *multicast_pcb = NULL;static ip_addr_t mutlcast_send_ip;static ip_addr_t mutlcast_recv_ip;static void udp_recv_multicast(void *arg, struct udp_pcb *pcb, struct pbuf *p, const ip_addr_t *addr, u16原创 2023-06-17 16:40:42 · 2931 阅读 · 1 评论