Например TDA7294

Форум РадиоКот • Просмотр темы - CH32V переключение состояния GPIO с UART и обратно
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пт янв 09, 2026 10:16:12

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: CH32V переключение состояния GPIO с UART и обратно
СообщениеДобавлено: Сб июл 22, 2023 00:09:03 
Открыл глаза

Зарегистрирован: Ср дек 25, 2019 23:41:33
Сообщений: 43
Рейтинг сообщения: 0
Доброго времени суток!

Необходимо сформировать в UART сигнал BREAK определенной длины (не менее 176 мкс, для передачи по DMX и ответа по RDM).
Делаю следующим образом:
Код:
USART_Cmd(_USARTx, DISABLE);
_GPIO_Port->CFGLR &= ~(1<<22);                      // Set GPIO Pin 2 as GPIO output OD
GPIO_SetBits(_GPIO_Port, GPIO_Pin_2);           // Set GPIO Pin 2 to 0 within 180 us
delay_us(180);
GPIO_ResetBits(_GPIO_Port, GPIO_Pin_2);           // Set GPIO Pin 2 to 1
delay_us(40);
_GPIO_Port->CFGLR |= (1<<22);                       // and set back to USART out
USART_Cmd(_USARTx, ENABLE);


Однако по логическому анализатору перед посылкой нет никакого BREAK
Как могу изменить режим GPIO на лету, кроме как деинициировать порт целиком?
_USARTx указывает на USART2, а _GPIO_Port на GPIOA


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CH32V переключение состояния GPIO с UART и обратно
СообщениеДобавлено: Вт июл 25, 2023 12:08:57 
Открыл глаза

Зарегистрирован: Ср дек 25, 2019 23:41:33
Сообщений: 43
Рейтинг сообщения: 0
Пока в качестве обходного варианта подключил еще один пин, сконфигурированный на выход типа "открытый сток" и через него формирую BREAK


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CH32V переключение состояния GPIO с UART и обратно
СообщениеДобавлено: Вт июл 25, 2023 13:15:37 
Друг Кота
Аватар пользователя

Карма: 17
Рейтинг сообщений: 467
Зарегистрирован: Ср ноя 11, 2009 17:19:30
Сообщений: 5594
Откуда: Воронеж
Рейтинг сообщения: 0
Там есть регистр AFR?
GPIO_SetBits разве устанавливает ноль, а не единицу?

_________________
"Привет!" - соврал он.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CH32V переключение состояния GPIO с UART и обратно
СообщениеДобавлено: Вт июл 25, 2023 18:43:18 
Открыл глаза

Зарегистрирован: Ср дек 25, 2019 23:41:33
Сообщений: 43
Рейтинг сообщения: 0
Цитата:
Там есть регистр AFR?

Регистр ремапа? Нет, но есть AFIO

Цитата:
GPIO_SetBits разве устанавливает ноль, а не единицу?

Как бы там ни было, реакции на логическом анализаторе не видел


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: CH32V переключение состояния GPIO с UART и обратно
СообщениеДобавлено: Вт июл 25, 2023 18:46:53 
Друг Кота
Аватар пользователя

Карма: 17
Рейтинг сообщений: 467
Зарегистрирован: Ср ноя 11, 2009 17:19:30
Сообщений: 5594
Откуда: Воронеж
Рейтинг сообщения: 0
Смысл в том, что сама система GPIO может не подключаться к физической ножке. То есть функцию порта надо переназначать.

_________________
"Привет!" - соврал он.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: CH32V переключение состояния GPIO с UART и обратно
СообщениеДобавлено: Вт июл 25, 2023 21:17:45 
Открыл глаза

Зарегистрирован: Ср дек 25, 2019 23:41:33
Сообщений: 43
Рейтинг сообщения: 0
Цитата:
То есть функцию порта надо переназначать.


Получается, что функцию пина переназначаю.
Дело в том, что на пине PA2 по умолчанию сидит USART2, а я хотел бы иметь возможность переназначить с AF_PP на Out_OD и обратно


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y