あれの開発記 25ページ目 [ColdFire V1]
※一生懸命作ったので、宜しければ投票お願いします。http://www.freescale.co.jp/event/FTFJ/index.html
フリスクメンバーのログインが必要です。
※業務連絡です。すいませんP社の方、ESECと書いてしまいましたが、購入したのはワイヤレスジャパンのキャンペーンです。
調子に乗ってしまって、先のUDPエコーサーバーを改造してシリアル/Ethernet間の簡単な(トランスペアレントな)ブリッジを作成してみました。ですが、結構苦労しました事は前回のアップから時間が掛かっているところからも想像できるかと思います。
SilentCにはシリアルライブラリがあるのだけれど、どうしても安定して動かす事ができない。コンソールとSCIが一致してしまうと駄目なんでしょうかね?。取り敢えずコンソールライブラリを「ああでもない、こうでもない」とやりながら、なんだかイマイチすっきりしない無理やりなプログラムです。マルチタスクでできればーーーー。
#stop 0制御命令を入れるとCtrl+Cでの停止が出来なくなるので、”END”と言う文字列をシリアル側でチェックして、そこで終了させています。
※while( (c = Getc( 0 )) > 0 )と記述しているので、トランスペアレントとは言えないですね。もっとも考えているフレームは全てテキストでやろうと思っているので、なんとかこれで行けるかな。
フリスクメンバーのログインが必要です。
※業務連絡です。すいませんP社の方、ESECと書いてしまいましたが、購入したのはワイヤレスジャパンのキャンペーンです。
SilentCにはシリアルライブラリがあるのだけれど、どうしても安定して動かす事ができない。コンソールとSCIが一致してしまうと駄目なんでしょうかね?。取り敢えずコンソールライブラリを「ああでもない、こうでもない」とやりながら、なんだかイマイチすっきりしない無理やりなプログラムです。マルチタスクでできればーーーー。
main() { #stop 0 char c,*p,*e_buf; char soc = CreateSocket( 0 ); char *s,*s_buf = MemoryAlloc( 80 ); int len,dport; long dip = 0; Bind( soc, 7, 1 ); s = s_buf; for(;;) { if( (len = RecvFrom( soc, 10 )) == (-1) ) { break; } else if( len > 0 ) { dip = GetSenderIP( soc ); dport = GetSenderPort( soc ); e_buf = GetReceiveBuffer( soc, 1 ); for( p = e_buf; len > 0; len-- ) { PrChar( *p++ ); } PrStr( "\r\n" ); MemoryFree( e_buf ); } else ; while( (c = Getc( 0 )) > 0 ) { PrChar( c ); *s = c; if( c == 0x0d || c == 0x0a ) { PrChar( 0x0a ); *s = 0; if( StrCmp( s_buf, "END" ) == 0 ) { CloseSocket( soc ); MemoryFree( s_buf ); return; } if( dip != 0 ) { SendTo( soc, dip, dport, s_buf, StrLen( s_buf ) ); } s = s_buf; } else { if( ++s >= &s_buf[ 80 ] ) s = s_buf; } } } CloseSocket( soc ); MemoryFree( s_buf ); }
#stop 0制御命令を入れるとCtrl+Cでの停止が出来なくなるので、”END”と言う文字列をシリアル側でチェックして、そこで終了させています。
※while( (c = Getc( 0 )) > 0 )と記述しているので、トランスペアレントとは言えないですね。もっとも考えているフレームは全てテキストでやろうと思っているので、なんとかこれで行けるかな。
Interface (インターフェース) 2008年 10月号 [雑誌]
- 作者:
- 出版社/メーカー: CQ出版
- 発売日: 2008/08/25
- メディア: 雑誌
Interface (インターフェース) 2008年 09月号 [雑誌]
- 作者:
- 出版社/メーカー: CQ出版
- 発売日: 2008/07/25
- メディア: 雑誌
2008-09-01 01:03
nice!(0)
コメント(2)
トラックバック(0)
いっそのこと、UART1で作っちゃうのはいかがですか?
by noritan (2008-09-01 13:59)
そうですね、でも無線からネットワークスティックをコントロールできるのもなかなか魅力なんですよ。今telnetでは全然コントロールしていません。それにパターンで接続されているし。
それになんか文句ばかりに見えますが、実はSilentC気に入っていると言うか、感嘆しているというか、スクリプトでここまでできるのか!と本音の所では感じています。
是非、SilentCのパソコン版を作って欲しい。これならパソコンプログラミング嫌いが直るかも。
by hamayan (2008-09-01 14:59)