ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
1015473 Топик полностью
il-2 (03.07.2020 07:55, просмотров: 334) ответил Aleksey_75 на stm32, uart, борьба с эхом )))
Любое эхо можно отсечь. На то оно и эхо. 

Гонял USART в рехиме HalfDuplex - по одной линии. Там было эхо. И проблема с ним у меня была, но по одной простой причине - я в качестве буферов приема и передачи использовал одну и ту-же область памяти. Поэтому в момент начала передачи я выключал прием. Включал прием по прерыванию TC. В разное время делал это 2 способами:

1. Запрещал прием по DMA на время передачи.

2. Запрещал приемник USART (CR1->RE).

Оба способа работали. Если не используешь DMA, то этого можно не делать, достаточно отбросить принятое эхо - вычитать принятые данные по прерыванию RXNE.

Если что-то не получается, значит это у тебя косяк. Так что код в студию.