以太網(wǎng)(Ethernet)外設驅動涉及硬件與軟件的深度交互,其核心在于通過特定接口連接主處理器與以太網(wǎng)控制器,實現(xiàn)數(shù)據(jù)的發(fā)送、接收以及數(shù)據(jù)鏈路層處理等功能,部分控制器還集成了TCP/IP協(xié)議棧以簡化網(wǎng)絡應用開發(fā),從而支持多通道通信和高效的網(wǎng)絡數(shù)據(jù)傳輸。
最新開發(fā)資料詳見:
www.air8101.cn
一、主要硬件準備
1.1 主要硬件
Air8101開發(fā)板套件;
支持數(shù)據(jù)傳輸?shù)?a target="_blank">USB數(shù)據(jù)線;
Win10及其以上PC電腦。
1.2 接線示意
配套以太網(wǎng)小板,可以直插到Air8101開發(fā)板上,對應端口如下圖示:
需要注意的是:
因前期B10版本的開發(fā)板設計原因,測試以太網(wǎng)功能時,需要把SNeT的3.3V單獨接到板子右側SWD的3.3V。
實物連線如下圖示:
二、最新源碼及實操教程
Air8101應用示例持續(xù)更新中,當前以太網(wǎng)示例demo及實操教程,將教你使用LuatOS開發(fā),實現(xiàn)Air8101通過以太網(wǎng)小板LAN8720連接網(wǎng)絡。
最新源碼及實操教程詳見:
https://docs.openluat.com/air8101/luatos/app/driver/eth/
1)示例代碼:
2)運行示意:
三、核心腳本代碼詳解
netdrv接口提供了一系列函數(shù),用于實現(xiàn)相關網(wǎng)絡配置與管理功能。
3.1 初始化指定netdrv設備
netdrv.setup(id, tp, opts)
1)參數(shù):
id:int型(網(wǎng)絡適配器編號,例如socket.LWIP_ETH);
tp:int型(實現(xiàn)方式,如果是設備自帶的硬件,那就不需要傳,外掛設備需要傳,當前支持CH390H/D);
opts:int型(外掛方式,需要額外的參數(shù),參考示例)。
2)返回值:
返回值類型:boolean;
說明:初始化成功與否。
3)例子:
3.2 開啟或關閉DHCP
netdrv.dhcp(id, enable)
1)參數(shù):
id:int型(網(wǎng)絡適配器編號,例如socket.LWIP_ETH);
enable:boolean型(開啟或者關閉)。
2)返回值:
返回值類型:boolean;
說明:成功與否。
3)例子:
3.3 設置或獲取設備MAC
netdrv.mac(id, new_mac, raw_string)。
1)參數(shù):
id:int型(網(wǎng)絡適配器編號,例如socket.LWIP_ETH);
new_mac:string型(新的MAC地址,可選,必須是6個字節(jié));
raw_string:boolean型(是否返回6字節(jié)原始數(shù)據(jù),默認是否,返回HEX字符串)。
2)返回值:
返回值類型:boolean;
說明:成功與否。
3)例子:
3.4 設置或讀取ipv4地址
netdrv.ipv4(id, addr, mark, gw)
1)參數(shù):
id:int型(網(wǎng)絡適配器編號,例如socket.LWIP_ETH);
addr:string型(ipv4地址,如果是讀取就不需要傳);
mark:string型(掩碼);
gw:string型(網(wǎng)關)。
2)返回值:
addr:string型(ipv4地址);
mark:string型(掩碼);
gw:string型(網(wǎng)關)。
3)例子:
3.5 開啟或關閉NAPT
netdrv.napt(id)
1)參數(shù):
id:int型(網(wǎng)關適配器的id)。
2)返回值:
返回值類型:bool;
說明:合法值就返回true,否則返回nil。
3)例子:
3.6 獲取netdrv的物理連接狀態(tài)
netdrv.link(id)
1)參數(shù):
id:int型(netdrv的id,例如socket.LWIP_ETH)。
2)返回值:
返回值類型:bool;
說明:已連接返回true,否則返回false;如果id對應的netdrv不存在,返回nil。
3)例子:
3.7 獲取netdrv的網(wǎng)絡狀態(tài)
netdrv.ready(id)
1)參數(shù):
id:int型(netdrv的id,例如socket.LWIP_ETH);
2)返回值:
返回值類型:bool;
說明:已連接返回true,否則返回false;如果id對應的netdrv不存在,返回nil。
3)例子:
今天的內(nèi)容就分享到這里了~
審核編輯 黃宇
-
以太網(wǎng)
+關注
關注
40文章
5532瀏覽量
173872 -
源碼
+關注
關注
8文章
665瀏覽量
30013
發(fā)布評論請先 登錄
相關推薦
零基礎也能玩轉!源碼開放:Air8101快速實現(xiàn)以太網(wǎng)功能

廣成科技CAN轉以太網(wǎng)模塊的作用和應用

Air8101工業(yè)引擎十大音頻能力,你想怎么用?
利用LWIP 2.2實現(xiàn)以太網(wǎng)的DHCP功能

以太網(wǎng)協(xié)議的種類和特點
工業(yè)以太網(wǎng)的應用場景分析
以太網(wǎng)幀格式和功能詳解
實現(xiàn)具有電壓轉換功能的工業(yè)和汽車以太網(wǎng)RGMII接口

以太網(wǎng)端口的類型和特性
以太網(wǎng)要怎么連接
RS485轉LoRa-以太網(wǎng)TCP轉LoRa


使用VN5620監(jiān)控記錄以太網(wǎng)總線數(shù)據(jù)#車載以太網(wǎng) #CANape

如何實現(xiàn)以太網(wǎng)功能的,是用F107或F407芯片自己移植Lwip還是采用SPI轉以太網(wǎng)模塊?

評論