2-網絡芯片CH395Q學習開發-學習資料說明,測試通信,獲取硬件版本,獲取設備本身MAC,代碼移植說明


 

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

 

資料說明

首先說明一下學習資料源碼,在資料中有51單片機,stm32相關的例程.

用戶可根據自己的情況選擇使用.

 

 

 

說明

我提供的例程是作為具體的講解使用.默認以SPI通信為主.

提供的代碼是使用STM32F103單片機編寫的.

 

測試下這節的程序

 

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

 

 

 

 

 

 

 

 

 

2,注意!

 

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

 

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

 

 

3.打開這節的程序

這一節測試使用SPI方式和模塊進行通信,然后獲取模塊的芯片版本

 

 

 

 

 

 

 

 

 

4,我使用測試板進行測試

 

 

5,把程序下載到開發板,監控下單片機串口1打印的信息

注:也可能打印46..... 版本不一樣

 

 

關於版本號

不同的版本號功能上有差異,版本號越高越好

 

 

50910E227  代表  版本2

50910E228  代表  版本4

推薦購買228或大於此數字的芯片.也就是4版本及其以上

版本功能主要差異:

假設使用芯片作為TCP服務器.

4版本及其以上的芯片支持多路TCP客戶端連接其TCP服務器.

4版本以下的芯片只支持單路TCP客戶端連接其TCP服務器

 

CH395Q獲取可以通過 CMD_GET_GLOB_INT_STATUS 和 CMD_GET_GLOB_INT_STATUS_ALL 兩個命令來獲取中斷狀態,

前者只能獲取到低 8 位的中斷狀態,后者可以獲取全部的中斷狀態,使用時需要注意,任何版本的芯片都支持 CMD_GET_GLOB_INT_STATUS 命令,

如果芯片版本號大於等於 0X44 且使用了Socke4– Socke7 則只能用 CMD_GET_GLOB_INT_STATUS_ALL。

芯片版本號小於 0X44 不支持CMD_GET_GLOB_INT_STATUS_ALL 命令。

 

關於設備MAC地址 

CH395 芯片出廠時已經燒錄了由 IEEE 分配的 MAC 地址,MAC地址全球唯一.如非必要請勿設置 MAC 地址
一旦設置了MAC,則無法找回!
用戶可以使用 CH395CMDGetMACAddr 獲取其內部MAC地址.

 

程序移植使用說明

1.把以下文件夾放到自己的工程

 

 

 

2.添加個分組,分組里面添加CH395SPI.C和CH395CMD.C文件;  包含頭文件路徑

 

 

 

 

 

 

3.根據自己的情況替換延時函數

 

 

 

 

4.如果用戶使用的STM32F103系列的單片機的是硬件SPI,只需要修改這個地方即可

 

 

 

 

5.如果用戶使用的其它型號的單片機,還需要替換后面程序

 

 

 

 

6.如果用戶使用的其它型號的單片機,根據自己的情況修改引腳初始化

 

 

 

 

提示: SPI通信方式 CPOL=0, CPHA=1

CLK空閑狀態為低電平,在第二個沿開始采集數據

 

 

7.如果用戶使用的其它型號的單片機,根據自己的情況修改SPI函數

 

8.根據下面的步驟測試即可

 

 

 

9.關於文件

紅框內的是通用文件,咱和模塊通信調用的就是CH395CMD.C里面的函數

然后CH395CMD.C里面的函數再調用綠框里面的SPI接口文件和模組進行通信.

藍框是代表不同的通信方式封裝的文件,當前並沒有用到.也並未編寫完整並不能使用...

PARA : 並口

SPI_SW: 模擬SPI

UART: 串口 

 

如果使用其它通信方式,修改完通信方式文件以后,記得在CH395CMD.C里面包含接口函數頭文件

 


免責聲明!

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



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