Современная электроника №8/2021

ПРОЕКТИРОВАНИЕ И МОДЕЛИРОВАНИЕ 43 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 8 2021 GPIOB->ODR= (0<<0)|(1<<4); delay(10); }} Проанализируемработу демонстраци- онной схемы, представленной на рис. 16. После запуска программа инициализа- ции микроконтроллера включает так- тирование модуля USART1 и портов РА и РВ, через которые будет вестись при- ём и передача данных и команд. Далее выполняется запись в соответствующий разряд GPIOx_CRH/CRL нужной комби- нации бит для настройки режима рабо- ты линий GPIO на приём или передачу информации. Чтение данных из пото- ка ввода виртуального терминала осу- ществляется определением с помощью второго бита регистра конфигурации GPIOА_CRHрежима работылинии РА10. Для линии РА10 в регистре GPIOА_CRH имеется два двухразрядных поля: CNF2 иMODE2. Первое определяет тип рабо- ты линии, второе – направление пере- дачи информации по линии. Запись GPIOA->CRH = 0x33333833 в коде про- граммы означает, что линия РА10 пор- та РА микроконтроллера STM32F103C4 работает на ввод данных – для этой линии в полеMODE записано значение 00 (приём данных), а в поле CNF – зна- чение 10 (вход с «подтягивающимрези- стором»). Двоичный код 1000 соответ- ствуетшестнадцатеричному значению8, которое записано во второй разряд реги- стра конфигурацииGPIOА_CRH линий 8...15 порта РА (см. рис. 17). Линии РА0... РА9, РА11...РА15 и РВ0...РВ7 работают на вывод данных, для чего для каждой отдельной линии в полеMODE записаны значения 11 (линия работает на вывод данных с максимальной частотой пере- ключения 50МГц), а в поле CNF – значе- ние 00 (цифровой выход). Двоичный код 0011 соответствуетшестнадцатерично- му значению3, которое записано в соот- ветствующие разрядырегистров конфи- гурации GPIOА_CRH (0x33333833) и GPIOА_CRL (0x33333333), GPIOB_CRL (0x33333333). Далее программа инициализации микроконтроллера разрешает работу модуля USART1 (команда USART1->CR1 = (1<<13)), включает приёмник (команда USART1->CR1 |= (1<<2)), выполняет рас- чёт скоростипередачии запись получен- ного значения в регистр USART1_BRR. Затем выполняется настройка дис- плея, для чего программнымпутём даны указания микроконтроллеру через порт PА отправить контроллеру микросхемы LM044L кодовые комбинации команд (если на линии PВ4 ноль) или данные (если на линии PВ4 единица). Для приё- ма команд/данных в микросхеме LM044L используются линииD0...D7. Управляю- щий сигнал с линии порта РВ4 посту- пает на вывод RS микросхемы LM044L и подаётся программно. Вывод PВ0 микроконтроллера подключён к выво- ду Е микросхемы LM044L и используется для подачи тактовых импульсов. После запуска симуляции схемы про- грамма инициализации микроконтрол- лера выводит на линиюPВ4 логический ноль, который поступает на вывод RS микросхемы LM044L. В результате чего шина D0–D7 переходит в режим приёма следующих команд: включение дисплея (GPIOA->ODR =(1<<0)|(1<<1)|(1<<2)| (1<<3)|(0<<4)|(0<<5)|(0<<6)|(0<<7)), уста- новка 8-разряднойшины (GPIOA->ODR = (0<<0)|(0<<1)|(1<<2)|(0<<3)|(1<<4)| (1<<5)|(0<<6)|(0<<7)), очистка дисплея и установка курсора в нулевую пози- цию (GPIOA->ODR = (1<<0)|(0<<1)| (0<<2)|(0<<3)|(0<<4)|(0<<5)|(0<<6)| (0<<7)). Далее программа инициали- зации микроконтроллера выводит на линию PВ4 логическую единицу, что переводит шину D0...D7 микросхе- мы LM044L в режим приёма данных (команда GPIOA->ODR = d), запись которых выполняется побайтно в цикле в регистр USART1_DR (команда d = USART1->DR) после установки в лог. «1» флага RXNE регистра USART1_SR. При этом на вывод Е непрерывно пода- ётся тактовый сигнал, по заднему фрон- ту которого микросхема LM044L считы- вает информацию (команды/данные). Таким образом, на экран микросхемы LM044L посимвольно выводится стро- ка, двоичные коды символов которой были поданы на шину D0...D7 (см. рис. 16). Символ отображается на экране дисплея после его ввода на экране вир- туального терминала. Временны ′ е диа- граммы работы схемы ввода/вывода текстовых данных на базе микрокон- троллера STM32F103C4 представлены на рис. 16. Работа с двумя USART Работа с двумя модулями USART пока- зана на рис. 18. Ниже представлен текст программы инициализации микрокон- троллера STM32F103C4, которая управ- Рис. 16. Результат работы программы управления системой ввода/вывода текстовых данных на базе микроконтроллера STM32F103C4 Рис. 17. Карта битов регистра GPIOA_CRH

RkJQdWJsaXNoZXIy MTQ4NjUy