質問編集履歴
1
説明文の補足
test
CHANGED
File without changes
|
test
CHANGED
@@ -26,15 +26,11 @@
|
|
26
26
|
|
27
27
|
16進数を入力して送信して狙った豆電球を点灯できるのですが、
|
28
28
|
|
29
|
-
テキスト送信で "ms,1" で豆電球1だけをを点灯し、"mr,1" で消灯する、同じく"ms,2"で点灯し、"mr,2"で消灯する
|
29
|
+
テキスト送信で "ms,1" と入力し送信したらで豆電球1だけをを点灯し、"mr,1" で消灯する、同じく"ms,2"で豆電球2が点灯し、"mr,2"で消灯する
|
30
|
-
|
31
|
-
|
30
|
+
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
31
|
+
という風にできていたのですが、16進数に変換されて送信されて"ms,1"入力で豆電球1だけを点滅させるのが他の豆電球も点灯してしまいます。
|
36
|
-
|
32
|
+
|
37
|
-
ms,1 やmr,
|
33
|
+
ms,1 やmr,1などの文字は16進数に変換せずにそのまま送信したいのです。
|
38
34
|
|
39
35
|
|
40
36
|
|
@@ -130,6 +126,8 @@
|
|
130
126
|
|
131
127
|
}
|
132
128
|
|
129
|
+
|
130
|
+
|
133
131
|
//! テキストボックスから、送信するテキストを取り出す
|
134
132
|
|
135
133
|
String data = sndTextBox.Text;
|
@@ -152,12 +150,16 @@
|
|
152
150
|
|
153
151
|
{
|
154
152
|
|
153
|
+
|
154
|
+
|
155
155
|
//! シリアルポートからテキストを送信する.
|
156
156
|
|
157
157
|
serialPort1.Write(data + "\n");
|
158
158
|
|
159
159
|
int startIndex = data.IndexOf(",");
|
160
160
|
|
161
|
+
|
162
|
+
|
161
163
|
if (startIndex > -1)
|
162
164
|
|
163
165
|
{
|
@@ -168,6 +170,8 @@
|
|
168
170
|
|
169
171
|
int value = Convert.ToInt32(tValue, 16);
|
170
172
|
|
173
|
+
|
174
|
+
|
171
175
|
for (int i = 1; i <= 16; i++)
|
172
176
|
|
173
177
|
{
|
@@ -176,6 +180,8 @@
|
|
176
180
|
|
177
181
|
Control[] cs = this.Controls.Find("CheckBox" + i.ToString(), true);
|
178
182
|
|
183
|
+
|
184
|
+
|
179
185
|
//チェック対象ビットに1が立っていればチェックオン、0ならチェックオフ
|
180
186
|
|
181
187
|
((CheckBox)cs[0]).Checked = ((value & (1 << (i - 1))) > 0);
|