в программе вывожу данные через Serial.print в итоге имею то что программа уже 10 раз в цикле выполняется, а в терминал только только показания от первого цикла доходят. короче такое ощущение что то что я вывожу в порт гдето буферизуется и потихоньку выводится. вот такой простой код
Servo1.write(0); // send servo to 0 degree position delay(2000); // give servo enough time to get there for (int i=0; i<=180; i++){ Servo1.write(i); // send next degree pulse to servo delay(50); // let things settle down Serial.print(i);
в итоге серва уже давно повернулась и остановилась а данные в терминале всё идут и идут. если повторять его в цикле то через некоторое количество минут происходит какойто "срыв" и данные в теминал идут рывками и значения скачут. даже скорость 115200 не помогает. в чём косяк?
У меня все работало без бубнов. Посмотри осциллографом как данные идут, может терминал так хреново отображает (ну т.е. проблема на стороне коспьютера). А загружается скетч нормально в ардуину???
О, кстати, лучше чем осцилл - возьми скетч из екзаплов, который с сериалом работает и посмотри на его поведение.
Добавлено спустя 2 минуты 47 секунд:
=DeaD= писал(а):Надо смотреть исходный код Serial, возможно там реально из буфера по прерыванию тягается всё, а прерывание редко.
Да чего его смотреть, надо сначала проблему локализовать, а потом уже в исходниках дефолтных библиотек копаться.
короче это ардуиновский встроенный терминал глючит адски просто тормозит при приёме данных по компорту, выводит данные со скоростью печатной машинки. посторонний терминал с радостью выдаёт мне простыни данных которые я даже прочитать не успеваю. западло, удобно прям в IDE ардуины терминалом пользоваться...