Плата та термінал, ймовірно, не використовують однакову швидкість передачі даних. Перевірте нижній правий кут серійного терміналу Arduino і переконайтеся, що він встановлений на 9600.
Серійні дані
Послідовне спілкування працює, надсилаючи весь потік даних по одному біту за раз. Це на відміну від стандартного паралельного порту, який надсилає по одному байту. Обидва пристрої повинні знати, з якою швидкістю надсилаються дані. Крім того, обидва пристрої повинні працювати з однаковою швидкістю. Це називається швидкістю передачі.
Швидкість передачі даних
Бод насправді просто означає імпульси в секунду. У контексті послідовного зв'язку це означає, скільки біт передається в секунду. Одне з найпоширеніших значень - 9600, але є й інші загальні, які є коефіцієнтами або кратними 9600. Однак це не має значення, хоча обидва пристрої працюють з однаковою швидкістю.
Якщо я надсилаю вам повідомлення швидше, ніж ви їх отримуєте, ви втрачаєте дані. Якщо я надсилаю вам повідомлення повільніше, ніж ви їх отримуєте, ви отримуєте дурниці, змішані з тим, що я вам надіслав.
Дані, Паритет, Стоп-біти
Якщо ви подивитеся на документацію begin()
, ви побачите, що вона може приймати два параметри:
Serial.begin(speed)
Serial.begin(speed, config)
Сподіваємось, ви зараз зрозуміли швидкість, Arduino спілкуватиметься з бітами в секунду.
Другий параметр, config
дозволяє налаштувати деякі інші відомості про послідовну передачу даних. Це біти даних, парності та зупинки. Ви побачите на сторінці вона любить значення 5N1
, 6N1
іSERIAL_8N1 (the default)
Перше число представляє кількість бітів даних. Другий персонаж повідомляє вам, що таке біт паритету. E
для парного паритету, O
для непарного паритету або N
для паритету. Третє число вказує, скільки стоп-бітів.
Тож насправді із 8N1 у нас надсилається 10 біт на кожні 8 біт "ваших" даних. 1 початковий біт, 8 бітів даних та 1 стоп-біт.
У будь-якому випадку, обидві сторони повинні погодитися з цією інформацією, а також швидкістю. Серійний термінал Arduino не дає вам можливості змінити ці налаштування, але це роблять інші, тому вам потрібно бути впевненим, що всі ці параметри конфігурації однакові.
Більше інформації про вікі: Асинхронний послідовний зв’язок