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

 
 
> Вопрос по алгоритму отправки пакета UDP в W5100
DSIoffe
сообщение Feb 15 2010, 12:05
Сообщение #1


Дима
*****

Группа: Свой
Сообщений: 1 683
Регистрация: 15-12-04
Из: Санкт-Петербург
Пользователь №: 1 486



Здравствуйте все!
При отправке пакета 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.
Заранее признателен.


--------------------
© CОПЫРИГХТ: Дмитрий Иоффе, Советский Союз.
Приглашаю посмотреть: http://muradowa.spb.ru/ и http://www.drtata.narod.ru/index.html
Go to the top of the page
 
+Quote Post



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

 


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


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