[過去ログ]
C#, C♯, C#相談室 Part97 (1002レス)
C#, C♯, C#相談室 Part97 http://mevius.5ch.net/test/read.cgi/tech/1671585518/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
238: デフォルトの名無しさん (ガックシ 0663-cnaq) [] 2023/01/29(日) 19:21:55.55 ID:XFhpsu3B6 初歩的な質問だと思うが書き込み失礼 win32APIでArduinoとシリアル通信をするコードを書いてる static void Main(string[] args) { SerialPort serialPort; serialPort = new SerialPort("COM3", 9600, Parity.None, 8, StopBits.One); serialPort.Open(); while (true) { var pt = GetCursorPosition(); Console.WriteLine($"X:{pt.X} Y:{pt.Y}"); if ((pt.X > 500) && (pt.X < 1000) && (pt.Y > 300) && (pt.Y < 600)) { serialPort.Write($"X:{pt.X} Y:{pt.Y}"); } else { } Thread.Sleep(100); Console.Clear(); } serialPort.Close(); } Mainの部分がこんな感じなんだが、if文の中にマウスカーソル位置の範囲指定をしていて、カーソルがその範囲に入るとシリアル通信が始まってArduinoに接続したモータが動く(ここまではできた) でも指定範囲を出るとそのモータが初期位置に戻るコードがうまく書けない。C#側でシリアル通信を中断して初期の段階に戻すような方法ある?elseの中に何書けばいいかわからない。 http://mevius.5ch.net/test/read.cgi/tech/1671585518/238
239: デフォルトの名無しさん (ワッチョイ 8379-jh2e) [sage] 2023/01/29(日) 19:50:03.63 ID:R24XfIrD0 >>238 else { serialPort.Write(初期位置); } で何か問題あるのかな? 初期位置が何を示すのか知らんけど、シリアルはフロー制御なしなら基本垂れ流しになるから、 開始とか中断の概念は持たない else節で100ms毎に初期位置座標を送り続けるのが嫌なら送信フラグでも持って送ったか判定すればいいのでは http://mevius.5ch.net/test/read.cgi/tech/1671585518/239
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.035s