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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> STM32L151 USART в режиме SPI, LSB и MSB
Jekin
сообщение Aug 3 2014, 08:29
Сообщение #16


Частый гость
**

Группа: Свой
Сообщений: 91
Регистрация: 9-09-07
Из: Минск
Пользователь №: 30 406



Цитата(MiklPolikov @ Aug 2 2014, 09:55) *
Может ещё подскажете :
Почему при работе USART+DMA иногда не происходит прерывание конца передачи DMA TC ( Transmission complete) ?

А вы смотрели что в DMA_CNDTRx? если до нуля не декрементирует, то прерывание не произойдет.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 3 2014, 11:40
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(MiklPolikov @ Aug 2 2014, 12:55) *
Почему при работе USART+DMA иногда не происходит прерывание конца передачи DMA TC ( Transmission complete) ?

"Иногда" - это насколько часто? Недавно переносил проект на F103, так не заметил такого - UART-DMA работает без единого сбоя.
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Aug 3 2014, 14:58
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Цитата(Jekin @ Aug 3 2014, 12:29) *
А вы смотрели что в DMA_CNDTRx? если до нуля не декрементирует, то прерывание не произойдет.


Нет, не смотрел. Ну наверно, если посмотреть, то так и окажется.

Цитата(jcxz @ Aug 3 2014, 15:40) *
"Иногда" - это насколько часто? Недавно переносил проект на F103, так не заметил такого - UART-DMA работает без единого сбоя.


Раз в несколько ч непрерывной передачи.

Когда у меня SD карты висели на SPI , всё было без сучка без задоринки. А сейчас перевесил на USART в синхронном режиме, и началась эта нестабильная работа. И в другом проекте USART то же глючит, нет-нет да и не пройдёт передача.

Я так понимаю, что это специфика USART. Успех передачи почему-то не гарантирован, и надо обрабатывать не успех. Но непонятно, что ему мешает работать стабильно ? В асинхронном режиме ещё бы можно было понять, но в синхронном-то почему ? Видимо он и в синхронном режиме не до конца превращается в SPI


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Aug 3 2014, 18:13
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



А он в синхронном режиме старт, стоп, четность проверяет?
SPI имеет меньше проверок, потому какие-то не совсем корректные обмены проходили, просто не было критерия ошибки. Может косвенно это касается и вашей первоначальной проблемы. Что-то не проходит, и потому не происходит декремент счетчика. Проверяйте все флаги ошибок что есть...
Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 4 2014, 02:03
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(MiklPolikov @ Aug 3 2014, 20:58) *
Я так понимаю, что это специфика USART. Успех передачи почему-то не гарантирован, и надо обрабатывать не успех.

По идее - не должно быть такого.
Go to the top of the page
 
+Quote Post

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

 


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


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