TXE (Transmit data register empty) регистр данных передатчика пустой. Устанавливается аппаратно, когда содержимое регистра данных USART_DR перемещается в регистр сдвига для последующей передачи. Сбрасывается при записи нового значения в регистр д
Регистр статуса USART_SR:
Передавать данные будем в следующем формате: старт-бит, 8 бит данных, один стоп-бит, без контроля четности, скорость 9600 бод. Далее подробней остановимся на регистрах микроконтроллера, рассмотрим какие именно биты могут быть задействованы при обмене данными через интерфейс RS232 в асинхронном режиме.
В примере будет реализована передача данных от STM32 в компьютер, поэтому у микроконтроллера подключен только вывод TX, вход приемника RX здесь не задействован. Передатчик и приемник включаются и выключаются раздельно. Я использовал микроконтроллер STM32F103RCT6. Он запаян у меня на самодельной отладочной плате, прошивал я его через встроенный программатор ST-LINK платы STM32L-DISCOVERY. Порядок подключения и прошивки описан в статье , правда там в качестве среды разработки используется Keil, а в данном примере IAR, но тут разницы никакой нет, в IAR все настройки ST-LINK те же, что и для платы STM32L-DISCOVERY.
Начнем же со схемы подключения микроконтроллера к компьютеру. В компьютере, в данном случае, использован виртуальный COM-порт, то есть микроконтроллер подключен к USB через микросхему преобразователь USB RS232, а именно FT232RL. О таком способе подключения микроконтроллера к компьютеру я уже писал в статье , правда схема будет немного отличаться в данном случае.
Поскольку реализация обмена данными с использованием трех последних вышеприведенных физических стандартов в планы не входит, то при описании модуля USART и его регистров, все что относится к этим стандартам будет пропущено. Будут рассмотрены лишь те настройки регистров USART, которые необходимы для данной задачи передачи данных через интерфейс RS232.
ISO/IEC 7816 стандарт относится к смарт-картам (в первую очередь контактным). Описывает форму карты, контактов, их расположение и назначение; протоколы обмена и некоторые аспекты работы с данными. Часть 3 описывает электрические параметры интерфейса и некоторые принципы установления связи для карт. ( )
Infrared Data Association IrDA, ИК-порт, Инфракрасный порт группа стандартов, описывающая протоколы физического и логического уровня передачи данных с использованием инфракрасного диапазона световых волн в качестве среды передачи. Является разновидностью оптической линии связи ближнего радиуса действия. Была особо популярна в конце 1990-х начале 2000-х годов. В данное время практически вытеснена более современными способами связи, такими как WiFi и Bluetooth. ( )
LIN (англ. Local Interconnect Network локальная сеть) стандарт промышленной сети, разработанный консорциумом европейских автопроизводителей и других известных компаний. Основные задачи, возлагаемые на LIN консорциумом европейских автомобильных производителей объединение автомобильных подсистем и узлов (таких как дверные замки, стеклоочистители, стеклоподъёмники, управление магнитолой и климат-контролем, электролюк и так далее) в единую электронную систему. LIN-протокол утверждён Европейским Автомобильным Консорциумом как дешёвое дополнение к сверхнадёжному протоколу CAN. ( )
Приемопередатчик в STM32, конечно, навороченный . Кроме RS232 есть возможность использовать и другие физические стандарты, такие как LIN, IrDA и интерфейс Smartcard ISO 7816-3. Если кому-то интересно что это за стандарты, вот вам их краткое описание из Википедии:
Старт- и стоп-биты, биты данных, контроль четности и т.д., вся эта структура интерфейса описана довольно подробно во множестве источников, поэтому на данной теме останавливаться не будем. Здесь же я изложу лишь свой опыт практической реализации пересылки данных из микроконтроллера в компьютер. В данном случае использован стандартный интерфейс RS232 для подключения к компьютеру, приемопередатчик работает в полнодуплексном режиме, то есть для передачи и приема данных используются разные выводы микроконтроллера (TX и RX), что позволяет передавать и принимать посылки независимо друг от друга. Передача данных асинхронная.
Универсальный синхронно-асинхронный приемопередатчик (USART) один из долгожителей цифровой техники. В большинстве современных микроконтроллеров он является стандартным модулем и, наверное, еще долго будет применяться из-за своей простоты и надежности. В STM32 может быть несколько таких приемопередатчиков, все они имеют стандартный и легко настраиваемый интерфейс обмена. Ниже будет рассмотрена классическая задача передача данных из микроконтроллера в компьютер через виртуальный COM-порт.
STM32. USART. Часть 1. » ChipSpace
Комментариев нет:
Отправить комментарий