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

 
 
 
Reply to this topicStart new topic
> SAM7X и SPI, чтение через PDC и CS ...
Terminator
сообщение Feb 29 2008, 04:21
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 209
Регистрация: 7-12-04
Из: Томск
Пользователь №: 1 382



Подскажите как быть.

Для работы с SPI использую PDC и прерывание окончания передачи/приёма буфера (ENDRX/ENDTX)
Сделал "ручное" дёрганье CS-ами. Выяснилось что прерывание ENDTX происходит до того как реально окончится передача SPI и CS поднимается до того как вылетят последние битики.
Эта проблема решилась переключением CS-а на аппаратное управление.

Однако если идут две посылки по разным девайсам, последний байт первой посылки доходит не полностью. Явно идёт запуск новой посылки до окончания предыдущей.

Как разрулить эту ситуацию?
Я пока вижу один вариант, все посылки переделать в чтение и ждать прерывания ENDRX.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Feb 29 2008, 10:38
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



http://electronix.ru/forum/index.php?act=S...=43&t=43130
http://electronix.ru/forum/index.php?act=S...=43&t=35141


--------------------
Go to the top of the page
 
+Quote Post
Terminator
сообщение Mar 6 2008, 09:18
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 209
Регистрация: 7-12-04
Из: Томск
Пользователь №: 1 382



Цитата(prottoss @ Feb 29 2008, 16:38) *


Спасибо за наводку, добавил обработку TXEMPTY.
В этом драйвере, если скорость SPI сделать поменьше, прерывание случится несколько раз впустую.
Go to the top of the page
 
+Quote Post

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

 


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


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