11-網絡芯片CH395Q學習開發-模塊使用Socket0作為UDP組播(多播)通信,MAC地址過濾


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

 

最近感慨的事情

1.關於教育工作者,科技工作者,公務人員

不知為什么,在大眾的想法里,教育工作者,科技工作者,公務人員就應該喝米粥吃咸菜!

好久之前的袁隆平老爺子摸車事件,還有現在的戴建業老爺子事件.

對於教育工作者,科技工作者,公務人員他們不是應該讓他們過得更好一點嗎?

只有讓他們過的好,讓他們更加的富足,讓他們更加的長壽,他們就會對這個社會做出更多的貢獻.

教育工作者,科技工作者,公務人員,只要是人家正常的掙錢養家,我才不管人家穿金戴銀,只要人家過得開心,我也開心.

評價一個人不要以他個人來看,要以整個社會來看.

 

2.關於現在的教育

關於孩子的思想道德,人格:

現在的教育一直在改,最近有些地方開始禁止公開學生成績了.

其實就我的觀點重之之重還在於父母和老師.

咱國家的父母大部分認為學校教育是第一教育.其實就整個來看

家庭教育是第一教育,社會教育是第二教育,學校教育是第三教育.

孩子的思想道德,人格大部分是取決於父母!

所以如果你的孩子因為思想道德,人格而出現了各種事情,做父母的應該先好好考慮自己!

 

關於老師:

老祖宗幾千年來就總結了: 師者,傳道,授業,解惑者也! 

但是現在看看現在的老師,大部分都只是授業的老師.把第一是傳道都給丟了!

前些日子看了個咱國的老師去外國授課,然后有個老師說只要有成績才能怎么怎么滴. 這老師膚淺!

咱國家的大部分老師有個特點: 現在的老師只是因為當初考試考的好,考到研究生考上博士,是考試考得好的老師但不是真正愛好的老師!

有的網友說中國是培養人才,外國是挑選人才. 其實並不對!

外國才是真正的培養人才! 他們遵循傳道,授業,解惑,而且懂得因材施教.

 

建國初期有好多說得上名字的大家,為啥以后大家就很少了? 所以:很多事情不要怪孩子,怪教育!

 

 

說明

這節演示一下模塊使用Socket0作為UDP組播(多播)通信

提醒:無論是SPI,USART,並口,程序操作步驟都是一樣的!

只是不同的接口發指令發給模塊,然后用不同的接收接收數據而已.

 

測試本節代碼(STM32F103xxxx)

1.用戶可以使用杜邦線根據自己的情況設置和連接引腳

 

 

 

 

2,注意!

要想模塊使用SPI通信,模塊的TX引腳需要在模塊重啟之前設置為低電平.

上面的引腳分配把模塊的TX引腳接到了單片機的PA3上,也就是串口2的RX上,如果用戶使用了串口2,請注意!

 

3.把模塊用網線和路由器或者交換機(和上位機在同一個局域網下)

 

 

注意,連接路由器或者交換機的時候是連接其LAN口.

 

 

 

4.設置多播地址,多播的目的端口號,本地端口號

注:下面還有個廣播IP,255.255.255.255 ,是因為執行多播通信需要把UDP的目的地址配置為廣播IP

多播MAC地址是為了MAC過濾,后面會講,用戶不需要設置,默認不過濾MAC

 

 

 

5.編譯下載到單片機

正常情況會打印模塊的IP地址等信息

 

6.打開電腦端網絡調試助手,並配置UDP

 

 

 

 

 

創建以后會每隔一段時間收到單片機控制模塊發送的組播信息

 

 

 

7.調試助手發送數據給單片機

單片機程序里面寫的是把接收的服務器返回給服務器,並使用串口打印接收的消息

 

 

 

串口會打印上位機的IP地址,本身端口號,還有發送的消息

 

 

 

程序說明

1.初始化UDP

注意: 配置的UDP地址為廣播地址: 255.255.255

 

 

 

 

2.設置MAC地址過濾

 

 

 

 

 

注意:CH395CMDSetMACFilt 函數是設置MAC地址過濾

第一個參數具體含義

我設置的為0x1a, 也就是 0001 1010  意味着不執行MAC過濾

000(保留) 

bit4 = 1(SEND_ENABLE發送使能) 

bit3 = 1(RECV_ENABLE接收使能)

bit1 = 1(RECV_ALL接收所有數據)

 

 

 

 

 

3,關於MAC過濾,我也沒搞明白這個模塊咋用

但是這節吧后面地址對應起來,然后設置為MAC過濾模式有效果

 

 

 

 

 

 

 

4.因為是局域網,連接了路由器,所以需要啟用DHCP

 

 

5.每隔一段時間發送一條多播數據出去

 

 

6.在中斷檢測事件里面處理Socket相關事件(本例中使用的Socket 0)

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM