So-net無料ブログ作成

SilentCの関数一覧表 (3) [ColdFire V2]このエントリーを含むはてなブックマーク#

1990557

SilentCの関数一覧表を作成しました。 コメント!--も合わせてお読みください。

SilentC 関数一覧表 (3)

SilentC 関数一覧表 (3)
関数返り値
long Atoi(char *buf)
char Bind(char socket, int port, char maxsoc)
  • 0 - エラー
  • 1 - 正常
char Accept(char socket, int timeout)
  • 正 - ソケット番号
  • -1 - 無効ソケット番号
  • -2 - 時間切れ
  • -3 -
int GetSenderPort(char socket)
  • 0 - エラー
  • 非0 - ポート番号
long GetSenderIP(char socket)
  • 0 - エラー
  • 非0 - IPアドレス
int SendTo(char socket, long ip, int port, char *buf, int len)
int RecvFrom(char socket, int timeout)
  • 正 - 受信データ長
  • -1 - 無効ソケット番号
  • -2 - 時間切れ
int DoCgi(char *ptr)0
char *ReplaceCgi(long p4, int p10)
int GetDefMtu(char socket, int size)
  • 正 - MTU値
  • -1 - エラー
long GetIP(char *ipstr)
long UserDriver(char vector, long arg)D0
char SmartInit(void)
char SmartErase(char xxx)
char SmartWrite(int page, char offset, char *buf, int size)
int SmartRead(int page, char offset, char *buf, int size)
char NvmWrite(char *addr, char *buf, int size)CFMUSTAT
char NvmErase(char *addr)CFMUSTAT
FirmwareUpdate(long checksum)N/A
long Checksum(char *buf, long size)checksum
char InitAd(char portmask)0
int GetAd(char channel)

"SmartXxxx"関数は、今のところ未解明。

"NvmWrite"関数と"NvmErase"関数は、安全のため(?)SilentCが存在する0x20000よりも小さいアドレスを指定することが出来ない。 しかし、これには抜け道があって、0xFFF00000からのアドレスを指定すると、0x00000000からのアドレスに変換される。 例えば、NvmWrite(0xfff000fc,&d,4);とすると、0x000000FC番地に値を書き込むという危ない操作が出来る。

"InitAd"関数では、A/D変換クロックを「CTRL2[DIV]=3」と設定している。 この設定によるとA/D変換クロックは「60MHz/8=7.5MHz」となるので、仕様上の上限である5MHzを超えるのではないだろうか。 試しにA/D変換クロックを上下させたが、目に見える影響は無かった。

"GetAd"関数は、一回の呼出しごとに10ミリ秒の変換待ちをしている。 このため、どんなにがんばっても毎秒100サンプルのデータしか得ることが出来ない。 このあたり、ColdFire×P2P地震情報(7) "33.3 Hzの壁"を超えるの記述と符合する。

参考文献

Interface (インターフェース) 2008年 09月号 [雑誌]

Interface (インターフェース) 2008年 09月号 [雑誌]

  • 作者:
  • 出版社/メーカー: CQ出版
  • 発売日: 2008/07/25
  • メディア: 雑誌

nice!(0)  コメント(0)  トラックバック(1)  このエントリーを含むはてなブックマーク#

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 1

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。