C # ввод строки для Arduino и отправить (irremote) - PullRequest
0 голосов
/ 21 января 2019

Я новичок в Arduino и на этой веб-странице, поэтому, пожалуйста, поймите и извините за мой плохой английский.Я надеюсь, что я все записал ясно.

Я получаю эту ошибку IRsend::sendNEC(String&, int), когда я пытаюсь выполнить эту команду: irsend.sendNEC(String, 32).Я пытался конвертировать int, но я делаю больше ошибок.

Вот мой код C #:

 serialPort = new SerialPort("COM9", 115200);
        serialPort.BaudRate = 9600;
        serialPort.ReadTimeout = 500;
        serialPort.Parity = Parity.None;
        serialPort.DataBits = 8;
        serialPort.StopBits = StopBits.One;
        serialPort.Handshake = Handshake.None;
        serialPort.DtrEnable = false;
        serialPort.RtsEnable = true;
        serialPort.Open();
serialPort.DataReceived += new SerialDataReceivedEventHandler(SignalReceived);

private void SignalReceived(object sender, SerialDataReceivedEventArgs e)
    {

        if (serialPort.IsOpen)
        {
            string indata = serialPort.ReadExisting();

        this.Invoke((MethodInvoker)delegate
        {
            if(indata != null | indata != "")
            textBox1.AppendText(indata + Environment.NewLine);
        });
        }

private void button1_Click(object sender, EventArgs e)
    {
        serialPort.Write("0xFF1AE5");
    }

Я пытался записать serialPort в int:

int MyInt = 0xFF1AE5;
byte[] b = BitConverter.GetBytes(MyInt);
serialPort.Write(b,0,4);

Вот мой код Arduino:

#include <IRremote.h>
IRsend irsend;
String str = Serial.readString();
unsigned long cmdlong = str.toInt();
irsend.sendNEC(cmdlong, 32);
Serial.println(cmdlong);

на выходе ничего не будет.Я тоже пытался конвертировать char, но не иначе.

char inData[str.length() + 1];
str.toCharArray(inData, str.length() + 1);
irsend.sendNEC(inData, 32);

Спасибо за все идеи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...