@Sneiksus

Возможно ли реализовать виртуальный uart на stm32?

Возможно ли реализовать UART передачу данных с STM32 с обычного цифрового пина?
Первая проблема что нужно при скорости 9600 бит/c передача одного бита должна происходить прмерно 1/9600 = 104 микорсекунды. HAL_Delay поддерживает минимальный период 1 милисекунда. Вторая проблема, не понимаю какой надо выставлять уровень напряжения на пине в простое, когда комуникация не происходит. Делал ли кто-то подобное и существуют ли какие-то библиотеки?
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Первая проблема что нужно при скорости 9600 бит/c передача одного бита должна происходить прмерно 1/9600 = 104 микорсекунды. HAL_Delay поддерживает минимальный период 1 милисекунда.

Это говорит о том, что нужно использовать другой метод для организации задержки. Например основанный на таймере со счётчиком.

какой надо выставлять уровень напряжения на пине в простое

Стандартно -- высокий логический. Сколько вольт этому должно соответствовать конкретно -- зависит от того, что вы подключите снаружи. Явно там будет какой-нибудь конвертор или другой микроконтроллер.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@pfg21
ex-турист
Это называется программный uart.
Реализаций - мильён и маленькая тележка, разного уровня качества и проработанности. Погуглить реализации под стм32 и подобрать нужное.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы