Форум программистов, компьютерный форум CyberForum.ru

Считывание и запись в COM порт - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Применение цикла for http://www.cyberforum.ru/cpp/thread1681468.html
Недавно начал учить C++, дошел до циклов. while, do while понимаю, а вот for ну хоть убей не понимаю, вроде был разобрался, а потом снова что - то не то. В общем, объясните на пальцах, и дайте пару ну ужасно простых задач на for. У меня все, спасибо. Нажму спасибо всем :)
C++ Ошибка: "Точка входа в процедуру gxx_personality_sj0 не найдена" при запуске приложения имеется код: #include <SFML/Graphics.hpp> int main() { sf::RenderWindow window(sf::VideoMode(200, 200), "test"); sf::CircleShape shape(100.f); shape.setFillColor(sf::Color::Green); while (window.isOpen()) http://www.cyberforum.ru/cpp/thread1681444.html
Класс Рациональная дробь C++
Есть код, который выполняет операции между дробями (рациональное число, является отношением двух целых чисел). Никак не получается перегрузить операции. Возможно кто-то может помочь или есть что-то подобное.Спасибо. #include <iostream> #include <conio.h> using namespace std; class Drobi { private: int x1,y1,x2,y2; public: Drobi(int a, int b, int e, int f)
C++ Как вывести значение переменной, не зная ее типа?
Необходимо написать универсальный скалярный тип, причем так, чтобы нам не нужно было знать тип переменной при ее выводе. Вот, что я написал, как можно изменить это так, чтобы typeid не использовался? #include <iostream> #include <string> #include <typeinfo> using namespace std;
C++ Бесконечные суммы http://www.cyberforum.ru/cpp/thread1681389.html
И опять я по этой теме обращаюсь.. Как реализовать такую формулу? В ней чередуются +/-, заданная точность - 0,005
C++/CLI Сдвинуть указанный столбец на n ячеек вверх и вниз Задание: сдвинуть указанный столбец на n ячеек вверх и вниз colN - номер столбца shiftStep - число сдвигов Вот мои тщетные попытки (*cpp) //Подключаемые заголовочные файлы #include "MyForm.h" #include <time.h> #include <stdio.h> #include <stdlib.h> //Прототипы пользовательских функций подробнее

Показать сообщение отдельно
SpaceQuester
2 / 2 / 0
Регистрация: 19.01.2016
Сообщений: 84

Считывание и запись в COM порт - C++

10.03.2016, 15:06. Просмотров 351. Ответов 4
Метки (Все метки)

Есть код на стороне Ардуины, он работает, с ним всё порядке:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
boolean dataReady = 0;
char incomingChar;
char typeMessage;
String input = "";
 
int defaultValueC4900ControlVoltage = 1; //[0:255]
int FromPCValueC4900ControlVoltage = defaultValueC4900ControlVoltage;
 
void setup()
{
  Serial.begin(9600);
}
 
void loop()
{
 
  while (Serial.available())
  {
    incomingChar = (char)Serial.read();
 
    if (incomingChar == 'F' /*|| incomingChar == 'C'*/)
    {
      dataReady = 0;
      typeMessage = incomingChar;
      input = "";
 
      continue;
    }
 
    //Serial.print("typeMessage:");
    //Serial.println(typeMessage);
 
    if (incomingChar != '!' && (typeMessage == 'F' /*|| typeMessage == 'C'*/))
    {
      input += incomingChar;
    }
    else
    {
      dataReady = 1;
    }
  }
 
  if (dataReady == 1 && typeMessage == 'F')
  {
    FromPCValueC4900ControlVoltage = input.toInt();
    Serial.print("FromPCValueC4900ControlVoltage:");
    Serial.println(FromPCValueC4900ControlVoltage);
    dataReady = 0;
    typeMessage = NULL;
  }
 
  /*if (dataReady == 1 && typeMessage == 'C')
  {
    int Vol = input.toInt();
    Serial.print("VolC:");
    Serial.println(Vol);
    dataReady = 0;
    typeMessage = NULL;
  }*/
 
  analogWrite(9, FromPCValueC4900ControlVoltage); // Необходимо подбирать коэффициэнт [0:255]
  
  int sensorRealValueC4900ControlVoltage = analogRead(A0); // [0:1023]
  //float realC4900ControlVoltage = sensorValueC4900ControlVoltage * (5.0 / 1023.0);
  Serial.print("C");
  Serial.print(sensorRealValueC4900ControlVoltage);
  Serial.println("!");
 
  int sensorSupplyOutputVoltage = analogRead(A1); // [0:1023]
  Serial.print("O");
  Serial.print(sensorSupplyOutputVoltage);
  Serial.println("!");
 
  int sensorPhotomultiplierOutputVoltage = analogRead(A2); // [0:1023]
  Serial.print("P");
  Serial.print(sensorPhotomultiplierOutputVoltage);
  Serial.println("!");
}
Ардуина считывает только команды F1234! и отдаёт C1234! O1234! P1234! Всё идеально работает. Теперь следующий вопрос - как мне из клиента на PC в C++ в режиме реального времени и считывать данные из COM порта и посылать туда данные?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru