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

 
 
> LPC1778 SPI DMA
Axel
сообщение Sep 29 2012, 19:45
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 480
Регистрация: 21-11-04
Пользователь №: 1 188



Понадобилось организовать периодическое чтение из SPI через DMA - по 19 байт за один сеанс. Получилось, но как-то криво:
1. Понадобилось два канала DMA - один ессно на прием, другой на передачу - чтобы клоки гнать. Иначе никак...
2. После каждой транзакции приходится очищать FIFO - там почему-то оказываются лишние пять байт (нулевые). На внешних линиях никаких лишних пересылок не отмечено (смотрел осциллографом). Оно бы ничего, но лишний код в прерываниях...
Если кто знает, как сделать лучше - научите...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SII
сообщение Sep 29 2012, 23:05
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414



А Вы учитываете, что, когда выполняется передача от МК к внешнему устройству, параллельно производится приём, даже если принимаемые значения не имеют никакого смысла? Ведь по SPI в принципе невозможно организовать только чтение или только запись -- обе эти операции всегда выполняются одновременно и используют одинаковое число "символов" (обмен не обязательно идёт именно байтами).
Go to the top of the page
 
+Quote Post
Axel
сообщение Sep 30 2012, 03:34
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 480
Регистрация: 21-11-04
Пользователь №: 1 188



Цитата(SII @ Sep 30 2012, 02:05) *
Ведь по SPI в принципе невозможно организовать только чтение или только запись

В принципе - сколько угодно: оторвать MISO и будет Вам только передача. Ну и наоборот... biggrin.gif Все это понятно, но некрасиво...
Go to the top of the page
 
+Quote Post



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

 


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


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