Современная электроника №8/2021
ПРОЕКТИРОВАНИЕ И МОДЕЛИРОВАНИЕ 39 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 8 2021 ● включить тактирование выбранного модуля USARTх (где х – номер моду- ля) и порта ввода/вывода, через кото- рый будет вестись передача данных; ● настроить режим работы линии пе- редачи на вывод данных с альтер- нативной функцией, записав в со- ответствующий разряд GPIOx_CRH нужную комбинацию бит; ● разрешить работу с выбранным моду- лем USARTх и включить передатчик; ● записать в регистр USARTх_BRR зна- чение скорости передачи; ● после установки в 1 флагов TXE и TC регистра USARTх_SR записать данные в регистр USART1_DR. После отображения на экране вирту- ального терминала комбинации сим- волов «АВС» приостановим симуляцию кнопкой Pause the simulation, or start up at time 0 if stopped (кнопка находит- ся в левом нижнем углу окна програм- мы) и проверим содержимое регистров микроконтроллера. Для этого, используя команду основногоменюDebug /Watch Window, откроем окно Watch Window, где можно размещать регистры микро- контроллера и отслеживать их содер- жимое в ходе выполнения програм- мы. Добавление регистра выполняется щелчком правой кнопки мыши в обла- сти окна Watch Window и выбором в открывшемся контекстном меню пун- кта Add Items (By Name) – добавить эле- ментыпоимени. Врезультате чегобудет открытоокноAddMemory Item, которое содержит список групп всех регистров микроконтроллера. В нашем примере представляют интерес регистры моду- ля USART1 (USART1_CR1, USART1_CR2, USART1_CR3, USART1_SR, USART1_DR) и порта PA (GPIOA_CRH), с которымиведёт- ся работа в тексте программы инициа- лизациимикроконтроллера. Программа переключает биты регистров, осущест- вляя управление параметрами микро- контроллера. Для добавления регистров USART (см. рис. 7а) в окноWatchWindow из выпадающего списка в поле Memory окна Add Memory Item выберем пункт CM3\USART1 at 0x40013800-U1 (име- на регистров появятся в полеWatchable Items), двойным щелчком левой кноп- ки мыши выберем нужные элементы и нажмём кнопку Done. Для добавления регистров порта РА (см. рис. 7б) в окноWatchWindowв поле Memory окна AddMemory Itemвыберем пункт CM3\PORT0 at 0x40010800-U1. Добавить элементыв окноWatchWindow также можноипо адресу, для чего в окне вызывают контекстное менюи выбира- ют в нём пункт Add Items (By Address). Элементы в окне Watch Window рас- полагаются в виде списка (см. рис. 8), который раскрывают щелчком левой кнопки мыши по значку «+», при этом становятся доступными для просмо- тра адрес и значения функционально связанных битов регистра. В биты ТС и ТХЕ регистра USART1_SR (см. рис. 9а) и в биты TE и UE регистра USART1_CR1 (см. рис. 9б) записаны логические еди- ницы, в биты регистров USART1_CR2 (см. рис. 9в), USART1_CR3 (см. рис. 9г) записанылогические нули, в битыMODE1 и CNF1 регистра GPIOA_CRH (см. рис. 9д) записанышестнадцатеричные значения 1 (двоичное 01) и 2 (двоичное 10), что соот- ветствует логике работыпрограммыини- циализации микроконтроллера. Приём данных через последовательный интерфейс USART Рассмотрим пример, в котором про- граммным способом выполняется чте- Рис. 8. Список регистров в окне Watch Window Рис. 9. Значения битов регистров: (а) USART1_SR, (б) USART1_CR1, (в) USART1_CR2, (г) USART1_CR3 модуля USART1 и (д) GPIOA_CRH порта РА после выполнения кода программы инициализации микроконтроллера а б в г д
RkJQdWJsaXNoZXIy MTQ4NjUy