Плата та термінал, ймовірно, не використовують однакову швидкість передачі даних. Перевірте нижній правий кут серійного терміналу 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 не дає вам можливості змінити ці налаштування, але це роблять інші, тому вам потрібно бути впевненим, що всі ці параметри конфігурації однакові.
Більше інформації про вікі: Асинхронний послідовний зв’язок