Проблема с Serial port
- Войдите на сайт для отправки комментариев
Втр, 21/02/2017 - 21:01
Добрый вечер.Сталкнулся с такой проблемой.Пример кода:
char a ;
void setup(){
Serial.begin(9600);
Serial1.begin(9600);
}
void loop()
{
while(Serial1.available()>0)
{
a = Serial1.read();
Serial.print(a);
}
}
При посылке на Serial1 значения 1 в Serial выводится gv, при посылке 123-gіV
В чём может быть проблема?
Столкнулся*
а скорость порта точно выставили?
да,9600 бот как на отправку,так и на приём
Если использовать фукцию readString и послать на Serial1 hello,то в Serial получаем ©::
У Вас случайно не та мега, у каоторой на первом порте выводы наоборот распаяны?
Она самая
Т.е. Вы в курсе и соединили всё правильно? ну, тогда, сорри, не знаю, что подсказать.
Если бы я не правильно подключил,я бы вообще не каких данных не получил
Тоже верно.
А посмотреть логическим анализатором, что реально приходит на один порт и отсылается другим?
Еще можно подключить дисплей и выводить информацию на него.
Отсылается точно правильно,поскольку при замыкании rx,tx приходят теже данные,которые отсылал.
Дисплей выводит такой же бред
Логического анализатора нету
Тяжело отлаживать программы вслепую. (
А как насчет дисплея?
Или записать в EEPROM?
А выводить не в виде символа, а в HEX виде?
PS. Кстати, Вы очень невразумительно написали, что передаете и что принимаете.
Судя по скетчу, количество принятых и переданных байтов должно совпадать, а как на самом деле? gv - это что? Строка? И 123 - это один символ или три?
123-это пример сообщения,которое я передаю через com.gv-то что я получаю,вместо 123
Напишите четко, что именно Вы передаете и что получаете.
Продублируйте вывод в HEX.