Serial и типы данных
- Войдите на сайт для отправки комментариев
Вс, 04/11/2012 - 21:43
Доброе время суток!
Возникла ситуация которую не получается решить.
Общаюсь с шилдом по средствам Serial. Тип данных использую char. Но в процессе обмена информацией получаю от шилда всякий мусор и шилд аналогично не понимает мои команды. Скорость обмена данными стоит одинаковая.
Мусор, получаемый обратно выглядит примерно так: «ÿà ä()Åüàÿ»
Код программы:
#include <SoftwareSerial.h> SoftwareSerial cell(6,7); void setup(){ Serial.begin(9600); cell.begin(9600); delay(500); Serial.println("Go run"); delay(500); } void loop(){ if (cell.available()){ char in=cell.read(); Serial.print(in); } if (Serial.available()){ cell.write(Serial.read()); } }
Более подробно по шилду: http://iteadstudio.com/store/index.php?main_page=product_info&products_id=413
Я так понимаю здесь аналогичная проблема http://arduino.ru/forum/apparatnye-voprosy/ne-mogu-nastroit-svyaz-s-serial-routera-po-uarts-arduino
Насколько я понимаю проблема в типе данных. Только как подправить код не понимю.
Очень похоже на проблему с кодировками или с настройкапи четности и стоп-битов. Вы каким терминалом смотрите?
Терминал который встроен в Arduino IDE
Посмотрел по ссылке. Там идет пример, в который включена библиотека "NewSoftSerial" - может с ней нужно? А скорость по-умолчанию у шилда 9600?
http://arduino.cc/en/Reference/SoftwareSerial
Там сказано что: The version of SoftwareSerial included in 1.0 and later is based on the NewSoftSerial library by Mikal Hart.
http://arduiniana.org/libraries/newsoftserial/
Download
The latest version of NewSoftSerial is available here: NewSoftSerial12.zip. Note: don’t download this if you have Arduino 1.0 or later. As of 1.0, NewSoftSerial is included in the Arduino core (named SoftwareSerial).
Получаеться я как бы использую NewSoftSerial бибилиотеку.
На более старых версиях ардуины мой скетч не компилируеться.
Неужели на этом форуме нет людей, которые разбираются в подобных вещах?
Возникла ситуация которую не получается решить.
Аналогичная проблема. Связанная, скорее всего, с serial. Потому как если отказаться от обмена с serial - всё тогда ОК.
У Вас, кстати, на ПК какая операционка?