3-网络芯片CH395Q学习开发-芯片初始化,网线连接检测实验(轮训和中断方式)
<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnCH395Q" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
说明
这节演示一下芯片初始化和网线连接检测实验
提醒:无论是SPI,USART,并口,程序操作步骤都是一样的!
只是不同的接口发指令发给模块,然后用不同的接收接收数据而已.
测试本节代码(STM32F103XXXX)
1.用户可以使用杜邦线根据自己的情况设置和连接引脚
2,注意!
要想模块使用SPI通信,模块的TX引脚需要在模块重启之前设置为低电平.
上面的引脚分配把模块的TX引脚接到了单片机的PA3上,也就是串口2的RX上,如果用户使用了串口2,请注意!
3.把模块用网线和路由器或者交换机
注意,连接路由器或者交换机的时候是连接其LAN口.
4,把这节程序下载到单片机
5.网络指示灯亮起
6.单片机串口1作为日志打印口
程序说明
1.程序都是调用现成的函数
CH395Q内部封装的特别的好,以至于咱只需要调用下函数就可以了.
因为其优秀的封装,使得51单片机驱动它也熬不费力!!!
补充(推荐使用中断方式)
if(Query395Interrupt()) { /*»ñÈ¡ÖжÏʼþ(²»Í¬µÄÓ²¼þ°æ±¾»ñÈ¡º¯Êý²»Ò»Ñù)*/ if(ch395_version>=0x44) { ch395_status = CH395CMDGetGlobIntStatus_ALL(); } else { ch395_status = CH395CMDGetGlobIntStatus(); } /* ´¦ÀíPHY¸Ä±äÖжÏ*/ if(ch395_status & GINT_STAT_PHY_CHANGE) { if(CH395CMDGetPHYStatus() == PHY_DISCONN)//ÍøÏ߶Ͽª { printf("\r\nPHY_DISCONN\r\n"); } else//ÍøÏßÁ¬½Ó { printf("\r\nPHY_CONNECTED\r\n"); } } }