内蔵データフラッシュを使用するためのルーチン
[詳細]
ソースコードを見る。
内蔵データフラッシュを使用するためのルーチン
このライブラリは低レベルなイーサネットフレームの送受信を行う。 TCP/IPレベルでの送受信は、 tkdnip.h を参照すること。
tkdn_ether.h で定義されています。
void ether_phy_softreset |
( |
| ) |
|
int ether_open |
( |
unsigned char |
mac_addr[] | ) |
|
MACアドレスをセットして、内蔵イーサネットPHYをセットアップする
- 引数
-
mac_addr[] | MACアドレスが格納された6バイトの配列 |
- 戻り値
- 成功すると1を返す。失敗すると0を返す。PHYエラーの場合は失敗する。
void ether_close |
( |
void |
| ) |
|
内蔵イーサネットPHYを終了する。
- 引数
-
- 戻り値
- なし
int ether_write |
( |
unsigned char * |
buf, |
|
|
int |
len |
|
) |
| |
イーサネットフレームを送信する
- 引数
-
[in] | buf | 送信したいデータが格納されたバッファへのポインタ |
| len | 送信したいイーサネットフレームの長さ。プリアンプル、FCS、CRC等は含まない。 |
- 戻り値
- 送信した長さ(バイト数)を返す
- 覚え書き
- 送信データは、宛先MACアドレスから、最終データまでを格納しておいてください。プリアンプル、FCS、CRC等の制御コードは不要です。
-
60バイト未満だと、末尾に00をパディングしてしまう?
int ether_read |
( |
unsigned char * |
buf | ) |
|
受信したイーサネットフレームを取得する
受信したイーサネットフレームは、DMAによってRAM上の専用領域に格納されています。
この関数を呼び出すと、専用領域からユーザバッファへデータを転送します。
また、受信エラーをチェックし、エラーが発生していれば解除します。
- 引数
-
[in] | buf | データを格納するユーザが用意したバッファへのポインタ |
- 戻り値
- 受信した長さ(バイト数)を返す。0の場合はデータがないことを示す
- 覚え書き
- RAM上の受信バッファはデフォルトでは2KBしかないので、受信したら早く取り出すこと。
-
内蔵MACは受信エラー(バッファオーバーラン等)が発生すると以後の受信が不可能になる。
この関数を呼び出すことでクリアされるので、必要がなくても繰り返し呼び出すこと。
int ether_is_linkup |
( |
void |
| ) |
|
リンクアップしているかどうかを調べる
PHYのレジスタを参照し、リンクアップを調べる。LINK_STAの端子は使っていない。
- 引数
-
- 戻り値
- リンクアップしていれば1を返す。リンクダウンしていれば0を返す。
int ether_is_100M |
( |
void |
| ) |
|
リンクが100Mかどうかを調べる
- 引数
-
- 戻り値
- 100Mモードならば1を返す。10Mモードならば0を返す。
int ether_is_fullduplex |
( |
void |
| ) |
|
リンクが全二重かどうかを調べる
- 引数
-
- 戻り値
- 全二重ならば1を返す。半二重ならば0を返す。
void ether_autonegotiate |
( |
void |
| ) |
|
int ether_link_changed |
( |
void |
| ) |
|
フレームを受信したときに呼び出される関数を登録する
- 引数
-
- 戻り値
- なし
- 覚え書き
- 登録された関数は割り込みのコンテキストで呼び出される
int ether_check_recv |
( |
void |
| ) |
|
受信バッファをチェックするとともに、受信エラーを解除する
- 引数
-
- 戻り値
- 受信エラーがあれば-1、データがなければ0、データがあれば正の数を返す。
- 覚え書き
- 実際の受信は行わない。返す値はデータ長とは必ずしも一致しない。
void ether_change_macaddr |
( |
const unsigned char |
macaddr[6] | ) |
|
void ether_enable_promis |
( |
int |
enable | ) |
|
プロミスキャスモードへの移行と解除
- 引数
-
enable | 0:プロミスキャスモード解除 1:プロミスキャスモード設定 |
- 戻り値
- なし