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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Межпроцессное взаимодействие и параллельное программирование. Литература http://www.cyberforum.ru/cpp/thread1681096.html
Доброго времени суток. Собственно просьба видна из заголовка треда. Прошу порекомендовать хорошие книги по межпроцессному взаимодействию и параллельному программированию. Как таковая интересует...
C++ Распознавание характера территории по снимкам, полученным с БЛА Мужики выручайте, пишу диплом на тему "РАСПОЗНАВАНИЯ ХАРАКТЕРА ТЕРРИТОРИИ ПО СНИМКАМ, ПОЛУЧЕННЫХ С БЛА", вся суть диплома в написании программы которая будет по одному методу(на выбор) определять... http://www.cyberforum.ru/cpp/thread1679386.html
C++ На какую среду разработки на C++ лучше перейти после изучения Delphi?
Доброго времени! Более 5 лет программирую под Delphi, но хочется перейти на С++, потому как очень много чего интересного появляется только на С++, поэтому если хочется попробовать, например, новый...
Кракозябры при выводе из файла UTF-8 C++
Здравствуйте. Тема кодировки достаточно популярна. Правда, в этих всех темах я, все же, не нашел то, что хотел, а именно: при считывании символов (могут быть и русские, и английские, и другие...
C++ WinLocker http://www.cyberforum.ru/cpp/thread1677171.html
Помогите, пожалуйста, написать простой винлокер, который ничего не удаляет, не переименовывает, и т.п., который только блокирует пользование компьютером, пока пользователь не ввел правильный пароль....
C++ Автоматизировать процесс заполнения документа в Word Доброго времени суток уважаемые форумчане! Возникла идея, создать программу по работе с бланками в MS Office для облегчения себе жизни. В общем, в последнее время работаю с парой конкретных бланков... подробнее

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

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

10.03.2016, 15:06. Просмотров 388. Ответов 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 порта и посылать туда данные?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru