Здравствуйте все! При отправке пакета UDP через W5100 в datasheet предлагают сделать следующее (упоминаю только то, о чём хочу спросить): 1.Прочитать указатель передающего буфера Sn_TX_WR. 2.Сделать из него физический адрес для буферной памяти W5100. 3.Отправить send_size байтов данных в буферную память. 4.Записать в Sn_TX_WR новое число, равное сумме его исходного (прочитанного) значения и размера блока передаваемых данных send_size. 5.Передать в W5100 команду Send. Если при передаче блока данных в W5100 не переполнится адресный счётчик, то вопросов нет. Если же он переполнится, то в datasheet велят его обнулить и продолжать запись данных в W5100 с базового адреса буфера передатчика. Это тоже понятно. А вот что записывать после этого в Sn_TX_WR? В псевдокоде из datasheet написано Sn_TX_WR += send_size, то есть если делать это в лоб, то в Sn_TX_WR окажется число, превышающее максимально допустимый адрес. Я подозреваю, что надо просто записать туда последнее значение адресного счётчика. Или как? Осознать тексты драйвера для AVR я не могу, не настолько знаю C. Заранее признателен.
--------------------
|