обмениваться данными между Arduino и ПК через порты USB-последовательного порта (консольное приложение C ++)

0

для моего небольшого проекта я пытался отправить небольшие сообщения в Arduino и на основе сообщения, которое он хорошо отключил, и на нем порт вывода. Я пробовал его в С#, он работал правильно, но я хочу сделать это в консольном приложении c++. Знание c++ не очень хорошо, и я искал его, но я не нашел и не понял его.

Мне просто нужно отправлять и получать сообщения из моего Arduino через последовательный порт в консольном приложении c++.

это мой рабочий код С#.

    using System.IO.Ports;

    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            SerialPort port = new SerialPort("COM8", 9600);
            public Form1()
            {
                InitializeComponent();
            }

            private void button2_Click(object sender, EventArgs e)
            {
                port.Open();
                port.Write("1");
                port.Close();
            }

            private void button1_Click(object sender, EventArgs e)
            {
                port.Open();
                String s = port.ReadLine();
                port.Close();
            }
     }
}
  • 0
    Вы не используете SerialPort правильно. Закрытие порта сразу после Write () предотвратит запись того, что вы пишете. Это требует времени, последовательные порты работают медленно. Вы дергаете коврик слишком рано. Единственное разумное использование - это открыть порт при запуске вашей программы и не закрывать его, пока вы не завершите его. Возможно, это работает случайно в вашем приложении C #, вероятность того, что вы можете воспроизвести его в C ++, не очень хорошая.
Теги:
arduino
c#-4.0
serial-port

1 ответ

1
Лучший ответ

На официальном веб-сайте Arduino появился отличный пример взаимодействия с Arduino и C++ в Windows. Я думаю, если вы включите описанный SerialClass.h (заголовок), Serial.cpp (файл исходного кода) в свой проект и адаптируете пример файла main.cpp, это может быть для вас решением.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню