1

シリアルポートデータを使用した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);
4

1 に答える 1