13-网络芯片CH395Q学习开发-模块使用Socket0作为MAC RAW

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnCH395Q" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

 

什么是MAC RAW

MAC RAW也叫以太网数据原始数据,是IP数据下一层的数据.

13-网络芯片CH395Q学习开发-模块使用Socket0作为MAC RAW

 

 

咱们操作最顶层的TCP或UDP接口,然后数据会使用IP层函数封装

最后IP层的再放到MAC层封装

13-网络芯片CH395Q学习开发-模块使用Socket0作为MAC RAW

 

 

 

说明

这节演示一下模块使用Socket0作为MAC RAW模式

这节只是开启MAC RAW模式,然后把接收的网络数据用串口打印.

注意:实现MAC RAW是需要设置MAC地址的,但是模块内部自带全球唯一MAC,所以不需要设置.

提醒:无论是SPI,USART,并口,程序操作步骤都是一样的!

只是不同的接口发指令发给模块,然后用不同的接收接收数据而已.

 

测试本节代码(STM32F103xxxx)

1.用户可以使用杜邦线根据自己的情况设置和连接引脚

 13-网络芯片CH395Q学习开发-模块使用Socket0作为MAC RAW

 

 

 

2,注意!

要想模块使用SPI通信,模块的TX引脚需要在模块重启之前设置为低电平.

上面的引脚分配把模块的TX引脚接到了单片机的PA3上,也就是串口2的RX上,如果用户使用了串口2,请注意!

13-网络芯片CH395Q学习开发-模块使用Socket0作为MAC RAW

 

3.把模块用网线和路由器或者交换机(和上位机在同一个局域网下)

13-网络芯片CH395Q学习开发-模块使用Socket0作为MAC RAW

 

 

注意,连接路由器或者交换机的时候是连接其LAN口.

 

13-网络芯片CH395Q学习开发-模块使用Socket0作为MAC RAW

13-网络芯片CH395Q学习开发-模块使用Socket0作为MAC RAW

 

 

7.下载程序到单片机

正常情况不时的打印一些数据,这些数据具体是啥我也没去研究

会打印路由器的MAC,网关地址,网卡名称,

13-网络芯片CH395Q学习开发-模块使用Socket0作为MAC RAW

 

 

 

程序说明

1.初始化MAC RAW

13-网络芯片CH395Q学习开发-模块使用Socket0作为MAC RAW

 

 13-网络芯片CH395Q学习开发-模块使用Socket0作为MAC RAW

 

 

2.因为连接路由器,所以需要DHCP

13-网络芯片CH395Q学习开发-模块使用Socket0作为MAC RAW

 

3.在中断检测事件里面处理Socket相关事件(本例中使用的Socket 0)

13-网络芯片CH395Q学习开发-模块使用Socket0作为MAC RAW

 

13-网络芯片CH395Q学习开发-模块使用Socket0作为MAC RAW

 

 13-网络芯片CH395Q学习开发-模块使用Socket0作为MAC RAW

 

 

 

 

注意事项

13-网络芯片CH395Q学习开发-模块使用Socket0作为MAC RAW

 

13-网络芯片CH395Q学习开发-模块使用Socket0作为MAC RAW

上一篇:获取网址参数


下一篇:使用Dockerfile构建自己的镜像