реклама на сайте
подробности

 
 
> STM32f103, залипание приеимника USART1
klen
сообщение Dec 18 2010, 16:08
Сообщение #1


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Всем привет. сейчас со мной произошел такой казус которым не могу не поделится.
написал код которыей ведет обмен по USART - по полингу, все работает, хорошо! едем дальше - перекладываю это все на DMA - прием работает, передача работает только один раз - сделал костыль, сказал что передача также как и прием циркулярная и в перрывании по окончании передачи из озу уарт запрещаю работу канала DMA, при наличии свежего буфера вклчаю канал и DMA начинает перекидывать данные в uart - заработало! хорошо! ...упс почемуто прием перестал работь... ведь ниче не делал..... потрати 2 часа с перерывами на обдумывание смыла бытия ... неработает, весь код перелопатил... передача работает прием нет (это по отладчику я смотрел)... достал осцилограф, байты идут. вывод - передача физически рабьотает, что с приемником UART? возвращаю прием на код по полингу - неработает.. да чтож такое то??? внутренне чутью подсказало включить и выключиь девайс - все заработало! если б не передернул питане то наверно до утра можнобылобы боротся с приемником уарта. шайтан байран.

вот так.


теперь вопрос по DMA, как каналу DMA сказать чтоб он умел однократно по команде перекачивать данные. если я использую режим DMA_Mode_Normal то он делает предачу в уарт один раз и встает как вкопаный, как ево пнуть чтоб еще раз повторил сее действие.

теперь еще непонятно. размер регистра USART->DR имеет вид полуслова, как правильно из байтового массива с помощью DMA в него писать, вернее он пишется правильно но в одном месте прочитал чтто по DMA можно и по четыре байта пересылать - тогда такты системной шины экономятся. че тут реально происходит и как лучше и правильнее.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 21:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01348 секунд с 7
ELECTRONIX ©2004-2016