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

прерывание на wiznet 5500

Добрый вечер! 
Кто с wiznet5500 работал, скажите, пожалуйста,  как сигнал прерывания INT после первого срабатывания вернуть снова в состояние высокого уровня: а то он как лег, так и лежит, на последующие прерывания не реагирует (использую прерывание RECV, оно возникает при каждом получении данных от участника сети).  

После прерывания в соответствующий бит регистра SIR устанавливается "1", попытка насильно записать туда "0" не оканчивается успехом. В документации сказано "Каждый разряд SIR будет равен ‘1’ 
до тех пор, пока хост не очистит Sn_IR", а он его и не собирается очищать. Как быть?🤷🏻‍♂️

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


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

C W5500 не знаком, но зачастую для сброса флага нужно прочитать регистр

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


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

20 часов назад, Faton_11 сказал:

пока хост не очистит Sn_IR", а он его и не собирается очищать

По содержимому SIR вы определяете, какой из сокетов вызвал прерывание, затем читаете Sn_IR, чтобы понять, какое именно прерывание возникло, после чего сбрасываете этот бит в Sn_IR. Вы сбрасываете его, в данном случае под хостом понимается контроллер, управляющий микросхемой. Когда вы сбросите все обработанные флаги в SnIR - соответствующий бит в SIR сбросится. А когда сбросятся все биты в SIR - отпустится и INT.

image.png.4620c2c7358d6406b219e9f77bc8d8bd.png

 

 

 

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


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

Так вы другим помогите, напишите, как решили

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


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

On 1/19/2024 at 7:05 PM, stells said:

Так вы другим помогите, напишите, как решили

В регистр Sn_IR нужно записать в соответствующий бит единицу:

ENABLE_INTERRUPT_Sn_IR  = 32'b00000000_00000010_00101100_00000100; // ENABLE INTERRUPT Sn_IR

 

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


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

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

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

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

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

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

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

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

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

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