Всем привет! Может кто сталкивался с такой проблемой или знает что я не так делаю с этим W3150A+.
1. Делаю аппаратный сброс на 2мкс, потом жду 11 мсек. 2. Устанавливаю IP, MAC, маску сети, порт, размер сокету на прием и передачу, режим TCP, открываю сокет 0, смотрю что в SN_SR лежит 0x13, затем ставлю в режим Listen (ожидание запроса на соединение со стороны компа), затем в регистре IMR разрешаю прерывания от сокета 0. 3. С программы на компьютере посылаю запрос на установку соединения с платой, на которой стоит LAN модуль W3150A+. Программа показывает что соединение установлено. По приходу прерывания INT от модуля я начинаю читать регистр IR, в котором я хочу увидеть "1" в младшем разряде, которая говорит о том, что произошло прерывание в сокете 0. Однако в этом регистре голые нули(0x00). Затем этот регистр затираю записав в него 0xF0. Далее делаю чтение регистра Sn_IR, хочу увидеть битик, который говорит что соединение установлено, а там опять 0x00. Адреса всех регистров именно для нулевого сокета. Все перепробовал - ничё не помогает. Ради интереса решил спросить регистр Sn_SR, в каком же состояние модуль , а там 0x14 (listen) ! Оказывается он все еще в режиме ожидания запроса (хотя запрос то был).
Подскажите плиз кто чем может, что не так.
|