0.相關資料
相關資料中包括其他精彩博文和**倉庫
【嵌入式 tcp ip 資料彙總】
【enc28j60學習筆記——索引】 【第1部分】【第2部分】【第3部分】【第4部分】
【stm32net學習筆記——索引】
【uip學習筆記】
【lwip學習筆記——stm32 enc28j60移植與入門】
6 enc28j60初始化操作
enc28j60初始化操作內容較多。
第一,進行cs埠的相關配置,即把該埠設定為輸出狀態,該部分**可以出現在任何硬體初始化**中,例如可以把所有的io操作放入gpio_config中;
第二,進行軟體復位,並通過查詢estat的estat_clkrdy標誌位確定是否復位完成,初始化nextpacketptr變數,該變數的初值為傳送緩衝區的起始位址;
第三,配置傳送和接收緩衝區的區間;第四,若干引數配置,特別說明enc28j60具有自動填充0 的功能,即傳送報文長度低於乙太網最小報文長度時可以填充0至最小長度;第五,寫入mac位址,由於enc28j60內部沒有全球唯一的mac位址,所以該位址需要軟體填寫。但是這種軟體填寫方式存在缺陷,實際應用中可以含有全球唯一的mac位址的eeprom,從eerpom讀取mac位址並用該位址初始化enc28j60;第六,初始化中斷,並使能接收,enc28j60含有多個中斷,本例只開啟全域性中斷和資料報接收中斷。
void enc28j60init(unsigned char* macaddr)
7 總結
enc28j60的驅動編寫算是比較複雜的。但是回過頭來看看,其他的乙太網驅動晶元的操作和enc28j60的操作類似,其操作的核心便是4kb的硬體緩衝區。本例不能給出合適的執行範例,因為乙太網驅動晶元要配合乙太網協議棧來實現,而乙太網協議棧內容很多涉及非常多的基礎知識。enc28j60的驅動是乙太網協議棧實現的基礎,通過enc28j60還將會分析uip協議棧,lwip協議棧的應用等。
ENC28J60學習筆記 第4部分
相關資料中包括其他精彩博文和 倉庫 嵌入式 tcp ip 資料彙總 enc28j60學習筆記 索引 第1部分 第2部分 第3部分 第4部分 stm32net學習筆記 索引 uip學習筆記 enc28j60初始化操作內容較多。第一,進行cs埠的相關配置,即把該埠設定為輸出狀態,該部分 可以出現在任何硬...
ENC28J60學習筆記 第3部分
相關資料中包括其他精彩博文和 倉庫 嵌入式 tcp ip 資料彙總 enc28j60學習筆記 索引 第1部分 第2部分 第3部分 第4部分 stm32net學習筆記 索引 uip學習筆記 通過enc28j60傳送乙太網資料報,操作enc28j60硬體緩衝區的傳送部分即可。每次傳送時總是從傳送緩衝區的...
基於Enc28j60的LwIP(1 4 1)移植
移植過程比較容易,網上一堆教程,本文主要將low level output和low level input針對enc28j60做一些優化,減少資料拷貝。網上比較多的應該是如下 static err t low level output struct netif netif,struct pbuf p...