Тема: Общение через com
Вступление.
Я программист, раньше дела с электроникой имел мало.
Но уже давненько пришло понимание того, что писать программы только для компьютера - это не так интересно, как создавать разум для каких-то реальных объектов, которые могут сами взаимодействовать с реальным миром.
Электроника может сама измерить температуру, определить освещенность, влажность, расстояние до объектов и т.д.
Более сложные системы - роботы, могут сами передвигаться в пространстве, попутно снимать показания окружающей среды и самостоятельно совершать какие-то действия.
Всё это здорово увлекает.
Заявку на покупку я подал в пятницу, в понедельник моя посылка уже была отправлена.
Т.к. я живу за пределами России, то посылка передавалась долго (1,5 недели).
За это время я прочитал пару курсов по электронике для начинающих, собрал все испорченные электронные детали, что были в доме, начал список покупок для похода в радио-магазин.
Вобщем, когда посылка пришла, я уже был готов пытать её.
А пришла она сегодня. Сразу же достал её из коробки и начал её вертеть в руках, чего делать не стоило - микропроцессор можно испортить хорошим разрядом электростатики.
Но моя схемка отлично запустилась, за день собрал пару "hello world" с мигающими светодиодами и определитель освещенности через обратный ток светодиода.
Затем сделал регулятор, подключив к Freeduino HT потенциометр.
Собственно суть:
При пересылке значений по com порту иногда (1 из 5-15 значений) пересылаются с ошибкой.
void setup() {
Serial.begin(5600);
}
void loop() {
Serial.println(analogRead(0));
delay(300);
}
Результат в считывания ком-порта:
999
996
99
5
993
1
0
998
Т.е. иногда цифры передаются по частям, иногда пересылается пустая строка без цифр.
Ставил разную скорость обмена по порту, не помогает.