製作・改造なんでもやっちゃう広くて浅い活動日誌

2017/101234567891011121314151617181920212223242526272829302017/12

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
昨日の続きで、C#のシリアル通信の送信時の
改行コードを変えたいって話です。

そもそも、C#は簡単にフォームアプリが作れて、
シリアル通信とかも簡単だとは思うんですが、
送信関数の
public void WriteLine(String text);

で送られる改行コードがCR+LFに固定されていることが厄介だったりします。
それを指定し直す方法があるのか知りませんが、
ひとまず関数を作ってみましました。

ちなみに、用意したシリアルポートの名前をserialPort1としています。

public void WriteLineCR(String text)
{
    int count = Encoding.ASCII.GetByteCount(text);
    byte[] asciiarray = Encoding.ASCII.GetBytes(text);
    byte[] textarray = new byte[count + 1];
    Array.Copy(asciiarray, textarray, count);
    textarray[count] = 13;
    serialPort1.Write(textarray, 0, count+1);
}


まあ、StringをASCIIに変えてCR(0x0d = 13)を加えて送信してるだけです。
ちょっと変えればLFだけとかもすぐです。
ひとまず不具合なく動いてるんで満足。
関連記事
コメント
この記事へのコメント
承認待ちコメント
このコメントは管理者の承認待ちです
2014/07/08(火) 09:49 | | #[ 編集]
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://creatornote.blog87.fc2.com/tb.php/12-521f98ae
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。