Раз уж я буду использовать UART для связки устройств блога с Вашими проектами немного расскажу как он устроен и как им пользоваться. Универсальный асинхронный приемопередатчик (UART) довольно старый и распространенный интерфейс. До недавнего времени разъем COM порта (тот-же UART только уровни напряжения другие) был обязательным атрибутом каждого компьютера. Теперь COM порт постепенно «отмирает» и если на «башнях» он еще не редкость, то на ноутбуках его уже нет и в помине.
Здесь проекты протеуса. На примерах учится легче. Создана ветка Dosikus'ом по моей идее. Я тогда фанател от протеуса. Несколько горбатых моих заготовок там тоже есть. LEAS вне форума. В архив приложен готовый проект использования. DS18B20 с выводом результата температуры на ЖКИ, для проекта был использован компилятор CodeVision AVR (проверенно на версиях 1.25.8 и 1.25.9) и симулятор ISIS из пакета Proteus (использовалась версия 7.1 SP2). Крайне не приветствуются - флуд, разборки на тему протеус г. Другая прога лучше. Удаляю без предупреждения!!! (не потому что я неровно дышу к протеусу, вы замусориваете форум, из за этого невозможно что либо найти.) Возможны вопросы новичков и ваши проекты как ответ.
Но в виду простоты и популярности интерфейса подавляющее большинство микроконтроллеров имеет UART в составе своей периферии. И если персональный компьютер UART перестает удовлетворять из-за низкой скорости и невозможности расширения, то для микроконтроллеров интерфейс удобен и использование его будет продолжаться. Раз UART есть во многих микроконтроллерах, значит мы его будем использовать как один из интерфейсов связи устройств блога с Вашими электронными устройствами. Для начала немного теории работы интерфейса (без лишних подробностей). Для связи по интерфейсу UART используется две ножки контроллера RXD – для приема сообщений (Receiver) и TXD – для передачи сообщений (Transmitter).
UART — полнодуплексный интерфейс. Это значит, что приемник и передатчик работают независимо друг от друга. Более того, передатчик или приемник можно отдельно отключить, освободив ножку контроллера для других нужд. Передача (соответственно и прием) сообщений осуществляется фиксированными пакетами битов (такой пакет называют кадром). Кадр состоит из старт-бита (с него начинается каждый кадр), битов данных (может быть от 5 до 9 бит), бита проверки четности (проверка правильности передачи данных) и одного или двух стоп-битов (сигнал об окончании кадра). Где: IDLE — ожидание обмена — должна быть 1; St — Старт-бит — всегда 0; (n) — Биты данных — может быть от 5 до 9 бит; P — Бит четности; Sp — Стоп бит — всегда 1. Если посылка содержит более одного байта, каждый следующий байт передается отдельным кадром.
Передача (и прием) данных ведется на определенных фиксированных частотах (измеряется в Бод=бит/сек) от 600 до 128 000 Бод. Условием правильной работы порта есть задание одинаковых параметров, как для приемника, так и для передатчика (скорость, количество бит данных, бит четности, количество стоп битов). Договоримся о формате кадра (настройках UART) для устройств блога: Скорость передачи – 9600 (это в пределах килобайта в секунду); Количество бит данных – 8 (наиболее удобно работать); Бит четности – Even (производится проверка на четность); Количество стоп-бит – 1; В сокращенном варианте это выглядит так: Baud Rate: 9600, 8 Data, 1 Stop, Even Parity Еще UART может работать в синхронном режиме (для этого задействуется еще одна ножка контроллера) и поддерживать адресацию множества устройств. Но так как наши устройства несложны и нам не нужны данные функции, то рассматривать мы их не будем.