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

 
 
> Контроллер повисает после перезапуска приложения, если при этом происходила передача данных по USB от контроллера приложению, at91sam7s
Bulat
сообщение Jun 24 2010, 11:30
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 206
Регистрация: 12-10-06
Из: ufa
Пользователь №: 21 241



Девайс принимает данные по некому протоколу, преобразует их в нужный формат и передает по USB на ПК. Если прекратить передавать по этому протоколу данные девайсу, а затем закрыть приложение на ПК, то при следующем запуске приложения девайс нормально определяется и работает. Но, если во время приема девайсом данных и, соответственно, передачей их по USB на ПК выйти из приложения, то девайс повисает и при следующем запуске приложения уже не определяется. Приходится передергивать USB-кабель девайса и еще раз перезапускать приложение. Только после этого девайс начинает работать. Получается в FIFO UDP девайса остаются непрочитанные приложением данные. При закрытии приложения девайсу посылается команда Turn off. Чтобы очистить FIFO использовал сброс конечной точки по команде Turn off:
Код
AT91C_BASE_UDP->UDP_RSTEP |= AT91C_UDP_EPINT1;
AT91C_BASE_UDP->UDP_RSTEP &= ~(AT91C_UDP_EPINT1);

... не помогает.
По этой же команде Turn off пробовал производить программный сброс процессора и периферии 2-мя способами:
1.
Код
((void (*)())0x0000)();

2.
Код
#define AT91C_RSTC_KEY_MY        ((unsigned int) 0xA5 << 24) // (RSTC) Password
            AT91C_BASE_RSTC->RSTC_RCR = AT91C_RSTC_KEY_MY | AT91C_RSTC_PROCRST | AT91C_RSTC_PERRST;

... тоже не помогло.
Какие еще возможны решения этой проблемы?
Заранее благодарен!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Bulat   Контроллер повисает после перезапуска приложения, если при этом происходила передача данных по USB от контроллера приложению   Jun 24 2010, 11:30
- - aaarrr   Цитата(Bulat @ Jun 24 2010, 15:30) При за...   Jun 24 2010, 11:43
|- - Bulat   Цитата(aaarrr @ Jun 24 2010, 17:43) А кон...   Jun 24 2010, 11:55
|- - aaarrr   Цитата(Bulat @ Jun 24 2010, 15:55) Точно ...   Jun 24 2010, 12:06
|- - Bulat   Цитата(aaarrr @ Jun 24 2010, 18:06) А из ...   Jun 24 2010, 12:46
|- - aaarrr   Цитата(Bulat @ Jun 24 2010, 16:46) По иде...   Jun 24 2010, 13:11
|- - Bulat   Цитата(aaarrr @ Jun 24 2010, 19:11) Еще р...   Jun 24 2010, 13:23
|- - aaarrr   Цитата(Bulat @ Jun 24 2010, 17:23) Вы име...   Jun 24 2010, 13:40
|- - Bulat   Цитата(aaarrr @ Jun 24 2010, 19:40) Тогда...   Jun 24 2010, 13:53
- - aaarrr   Три раза перечитал и ничего ровным счетом не понял...   Jun 24 2010, 14:01
|- - Bulat   Цитата(aaarrr @ Jun 24 2010, 20:01) Три р...   Jun 24 2010, 14:24
- - aaarrr   Сбрасывать процессор (и, соответственно, модуль UD...   Jun 24 2010, 14:27
|- - Bulat   Цитата(aaarrr @ Jun 24 2010, 20:27) Сбрас...   Jun 24 2010, 14:46
- - aaarrr   Для начала локализовать проблему, т.е. найти где, ...   Jun 24 2010, 15:02
|- - toweroff   Цитата(aaarrr @ Jun 24 2010, 19:02) если ...   Jun 24 2010, 19:32
- - Bulat   Проблему локализовал. Если во время приема девайс...   Jun 25 2010, 08:55
- - aaarrr   Состояние STALL Bulk-точки нельзя снимать просто т...   Jun 25 2010, 09:14
- - Bulat   Цитата(aaarrr @ Jun 25 2010, 15:14) Состо...   Jun 25 2010, 09:24
- - aaarrr   Цитата(Bulat @ Jun 25 2010, 13:24) Тогда ...   Jun 25 2010, 09:33


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

 


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


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