シリアルポートデータを使用したC#デスクトップアプリケーションの特定のArduino Unoマイクロコントローラーから、一意の識別番号またはその他の種類のIDに相当するものとして、何をどのように取得できるかを理解しようとしています
Uno の場合、COM3 を開いています。
myport.PortName = comPort;
myport.BaudRate = 9600;
myport.Open();
しかし、たとえばEEPROM Getを使用して、チップの ID などのデータを読み取る方法がわかりません。
#include <EEPROM.h>
void setup() {
float f = 0.00f;
int eeAddress = 0;
Serial.begin(9600);
while (!Serial) {
}
Serial.print("Read float from EEPROM: ");
EEPROM.get(eeAddress, f);
Serial.println(f, 3);
secondTest(); //Run the next test.
}
struct MyObject {
float field1;
byte field2;
char name[10];
};
void secondTest() {
int eeAddress = sizeof(float);
MyObject customVar;
EEPROM.get(eeAddress, customVar);
Serial.println("Read custom object from EEPROM: ");
Serial.println(customVar.field1);
Serial.println(customVar.field2);
Serial.println(customVar.name);
}
void loop() {}
およびC#:
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = myport.ReadExisting();
}
完全に誤解された結果が得られます。
Read float from EEPROM: ovf
Read custom object from EEPROM:
ovf
95
_^^]]]\\\\fedc
特定のマイクロコントローラーから一意の ID を取得するための出力変数は次のとおりです。
Serial.println(customVar.field2);
Serial.println(customVar.name);