Перейти к содержанию
    

Не пойму почему еще (возможно плохо смотрел мануал), если ставлю sleep с аргументом, то все время нахожусь в первом процессе, и соответственно получаю usb timeout, а если ставлю параметр по умолчанию то выполняется один раз и все время в idle.

 

Точнее в отладчике все время нахожусь в цикле

        do
        {
            enable_context_switch();
            DUMMY_INSTR();
            disable_context_switch();
        }

 

Поэтому, вероятно, прерывание USB игнорируется?

Изменено пользователем Legath

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если вызвать sleep с аргументом по умолчанию (0), то процесс уснёт насовсем. Таким образом, похоже, что вы усыпили все процессы:)

Почему не вызывается прерывание USB - не знаю, напомню лишь, что если вы хотите использовать сервисы оси в прерывании, то вы должны объявить при входе в прерывание объект типа TISRW.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Объект TISRW есть. таймауты ненулевые поставил, для отладки в процессах моргаю диодом. Заметил что при подключении USB ось парализуется, при этом USB-девайс определяется, стоит выдернуть шнур и ось работает.

Нашел, кажется, частичный ответ на свой вопрос, теперь паралич наступает чуть позже втыкания кабеля.

Изменено пользователем Legath

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Передачу запустил, пока правда не понял как. Осталось разобраться с приемом, DataRx почему то не вызывается.

Прикладываю проект с продвижениями. usb.tar.gz

Изменено пользователем Legath

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

idle hook с телом __NOP() - это даже не шаманство, это чистое плацебо:)

Я в том смысле, что это абсолютно ничего не меняет в работе оси. Вспоминайте, что ещё поменяли вместе с этим хуком.

 

бывало такое в кейле что проект не работал...

и диагноз такой же.... добавил строку - работает... убрал не работает или наоборот...

 

необходимо было лишь выровнять структуры данных или там код то ли по 2 то ли оп 4

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может быть дело в отсутствии барьеров?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...