CH392F PING模式学习使用

芯片手册:CH392DS1.PDF - 南京沁恒微电子股份有限公司

芯片本身协议栈内部支持被ping,但有些应用场合可能需要芯片端主动ping别人,此时需要用到CH392F的PING模式(手册6.5章节)

1.如何开启PING模式

image

和常规设置socket模式一样,在open socket前,将socket模式写入参数:0x0A,无需设置IP、端口等信息(如下图,以socket0为例)

    UINT8 i;

    CH392CMDSetSocketProtType(0, 0x0A); /* set socket 0 type */
    i = CH392CMDOpenSocket(0);                       /* open socket 0 */
    mStopIfError(i);         

2.socket开启成功后,参考手册6.5章节的内容进行正常发包即可。

(1)命令格式

image

imageimage

imageimage

 (2)举例

芯片发送:

 

image

 

image

 芯片向外发送0x57,0xab0x00,0x010xe8,0x030xf4,0x010x03,0x000x28,0x000x05,0x000x01,0x010xc0,0xa8,0x01,0x64

其中:

0x57,0xab  两个字节标志位

0x00,0x01  两个字节版本信息(小端模式)

0xe8,0x03  两字节,ping包发送间隔,小端模式,此处为0x03e8 = 1000ms

0xf4,0x01   两字节,ping包超时时间,小端模式,此处为0x01f4 = 500ms

0x03,0x00  两字节,发送的数据类型,小端模式,此处为0x0003 = 3(随机数据填充)

0x28,0x00  两字节,发送ping包的数据长度,小端模式,此处为0x0028 = 40字节

0x05,0x00  两字节,发送ping包的数量,小端模式,此处为0x0005 = 5次

0x01,0x01  两字节,命令码,小端模式,此处为0x0101(启动统计模式)

最后四字节为想要ping的IP地址

芯片发送这串字节后,可以通过抓包抓取ping包过程,如下图,完成了5次ping

image

芯片应答:

image

image

发送上面的ping后,芯片自身会产生接收中断,接收到一串数据:0x57,0xab0x00,0x010x04,0x800x01,0x000x05,0x000x05,0x000x00,0x00

 其中:

0x57,0xab  两个字节标志位

0x00,0x01  两个字节版本信息(小端模式)

0x04,0x80  两个字节命令和状态,小端模式,此处为0x8004,低字节的0x04代表PING任务结束后芯片主动上报,高字节0x80代表当前为芯片应答命令

0x01,0x00  两字节PING状态,小端模式,此处为0x0001,代表运行正常

0x05,0x00  两字节,接收ping包的数量,小端模式,此处为0x0005 = 5次

0x05,0x00  两字节,回复发送ping包的数量,小端模式,此处为0x0005 = 5次

0x00,0x00  两字节,当前PING帧的应答时间,小端模式,此处为0x0000  = 0ms

更多命令例子参照芯片6.5章节

 

posted on 2025-12-31 14:52  Lqqq123  阅读(0)  评论(0)    收藏  举报

导航