起因
学习mcu的时候,就在想这个板子是怎么联网的,但是当时老师没教,而且我当时学的东西太多了,确实没那么精力去深究,毕竟还没用到
MAC地址
MAC,Media Access Control Address的全称叫做媒体访问控制地址。你可以认为就是硬件地址,这个一般都是集成在cpu中的,少部分是外接的。我们都知道要联网肯定要ip,其实关于MAC并没有强制性要求的。但是mcu中有要求的。
联网流程
首先是CPU,然后就是得到MAC地址,然后通过PHY相当于是芯片外设,然后才可以接上RJ。RJ有RJ11和RJ45,这两个主要是线的数量和速率不同。
配置方法
打开cubemx,点击ETH,然后设置网口即可,其他的不用配置了。可以设置接收中断。反正就和串口一样使用就好了,那些电平变化,数据处理都是硬件搞定了,不需要我去管理了,调用给的回调和API即可完成操作
其他方法
还可以使用qspi来实现联网,这个是什么操作呢?其实看看usb拓展坞上面的网口转usb就知道,其实网口是可以通过ic进行转换的,只要通讯速度跟得上,所以就可以使用并行的usb和spi进行转换操作。
https://doc.embedfire.com/module/module_tutorial/zh/latest/Module_Manual/spi_class/w5500.html
别人写好了驱动,进行引脚修改为了对应的spi调用收发函数,状态判断就可以了。初始化肯定也得有哦。ping成功之后,就可以get去访问了,自然mqtt那些也是可以用的。此时就不用主控去配置网络接口通过spi就能联网。
结语
使用mcu的硬件功能的时候,很多时候都需要配置给一些额外硬件设备。比如硬件iic,就需要外部上拉电阻;网口就要两个硬件来实现电平变化;can和485都需要差分电平芯片;就连串口ttl都最好加一个电平稳定芯片为好。