Raspberry Pi:Аппаратные средства/Распиновка GPIO/UART

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



UART — Universal Asynchronous Receiver/Transmitter (т.е. «Универсальный асинхронный приемопередатчик»)

На Raspberry Pi имеется 2 UART-контакта — на 8-ом и 10-ом физических контактах. При помощи UART удобно, к примеру, взаимосоединять Raspberry Pi и Arduino (или ATmega, прошитую через бутлоадер). Но, создавая подобное соединение, нужно быть осторожнее с логическими уровнями, т.к. Pi питается от 3,3 вольт, а Arduino – от 5 вольт. Если просто соединить эти платы друг с другом, над ними может внезапно заклубиться волшебный синий дымок...

Лично я предпочитаю цепь c макетной платой (бридбордом), к которой подключена, во-первых, Arduino ATmega 328, прошитая через бутлоадер, и во-вторых, регулятор напряжения — благодаря ему ардуиновские 5 вольт трансформируются в 3,3 вольт для Raspberry Pi. Чипу Atmega достаточно 3,3-вольтового питания и кварцевого резонатора на 16 МГц, а Raspberry Pi, в свою очередь, превращается в клона Arduino, но с 3,3-вольтовой логикой.

Если библиотека WiringPi2-Python на вашей Pi уже установлена, то нижеследующий фрагмент кода ниже откроет UART-соединение (со скоростью 9600 бод) и покажет на устройстве вывода фразу «hello world!»:

import wiringpi2 as wiringpi
wiringpi.wiringPiSetup()
serial = wiringpi.serialOpen('/dev/ttyAMA0',9600)
wiringpi.serialPuts(serial,'hello world!')
  • Использует два GPIO-контакта.

См.также

Внешние ссылки