[過去ログ] C#, C♯, C#相談室 Part97 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
219: デフォルトの名無しさん (ワッチョイ 8379-jh2e) [sage] 2023/01/29(日) 01:16:07.51 ID:R24XfIrD0(1/3) AAS
>>209
209(1): デフォルトの名無しさん (アウアウウー Sa47-rfgy) [sage] 2023/01/28(土) 18:27:49.87 ID:DKSWYQK4a(1/2) AAS
Windowsデスクトップアプリの次のスタンダードはWebView2に決定してるよ
C#とも何の問題もなく連携できるから、もう何も心配することはない
ただHTML/CSSだけできればよい
>Windowsデスクトップアプリの次のスタンダードはWebView2に決定してるよ
もう2ひねりぐらいしないとコレ常用は厳しいなあと思う
HTAの再発明の上に実行環境がフォルダ掘ったりで劣化しとるのにスタンダードになるとは到底思えない
外人にも概ね評判悪いみたいだし
239
(1): デフォルトの名無しさん (ワッチョイ 8379-jh2e) [sage] 2023/01/29(日) 19:50:03.63 ID:R24XfIrD0(2/3) AAS
>>238
238(1): デフォルトの名無しさん (ガックシ 0663-cnaq) [] 2023/01/29(日) 19:21:55.55 ID:XFhpsu3B6(1/2) AAS
初歩的な質問だと思うが書き込み失礼
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の中に何書けばいいかわからない。
else
{
serialPort.Write(初期位置);
}
で何か問題あるのかな?
初期位置が何を示すのか知らんけど、シリアルはフロー制御なしなら基本垂れ流しになるから、
開始とか中断の概念は持たない
else節で100ms毎に初期位置座標を送り続けるのが嫌なら送信フラグでも持って送ったか判定すればいいのでは
242: デフォルトの名無しさん (ワッチョイ 8379-jh2e) [sage] 2023/01/29(日) 20:31:37.77 ID:R24XfIrD0(3/3) AAS
サーボモーター云々の話なら座標以外に「初期の段階に戻す」のシリアル命令をarduino側で定義すればいいだけなのでは
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.040s