Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 16.10.2010, 11:21  
rear
Вид на жительство
 
Аватар для rear
 
Регистрация: 30.12.2006
Адрес: Junktown
Сообщений: 300
Сказал спасибо: 164
Сказали Спасибо 171 раз(а) в 59 сообщении(ях)
rear на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Цитата:
!AIVDM,1,1,,A,14hn4R802ARC:GnIud3dQ:0P2D1s,0*0A
!AIVDM,1,1,,A,15`:ql0P1u2›a7nI=We7pnBN80S›,0*73
!AIVDM,1,1,,A,17bhov0P1MR›I4HJ;R`L4gvL06Qp,0*37
$GPGGA,,4624.77151,N,03043.48728,E,7,04,,,,,,,*5A
!AIVDM,1,1,,B,143q?F0P0mR‹vWpJV0=DmwvL089N,0*13
!AIVDM,2,1,4,A,A02VEhB1LnNh0OwGlQh3wvBwjlBwvcw0AP0 C04›5P0lwkd60:Cw7P‹0KhD2,0*3
Очевидно, эти данные идут в виде текстовой строки, и они заканчиваются числами 0x0D 0x0A (это можно проверить)
По этим числам можно определять конец пакета принимаемых данных, и тогда формировать IP пакет.
Реклама:
__________________
Всегда стремись к недоступному
rear вне форума  
Непрочитано 16.10.2010, 15:10  
artist
Частый гость
 
Регистрация: 01.07.2005
Сообщений: 14
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
artist на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

тогда надо использывать функцию plen=fill_tcp_data_p(buf,plen,PSTR()) только вместо PSTR() нужно передавать указатель на буфер сообщения.
artist вне форума  
Непрочитано 17.10.2010, 10:16  
borysik
Прохожий
 
Регистрация: 25.09.2007
Сообщений: 8
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
borysik на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Сообщение от rear Посмотреть сообщение
Очевидно, эти данные идут в виде текстовой строки, и они заканчиваются числами 0x0D 0x0A (это можно проверить)
По этим числам можно определять конец пакета принимаемых данных, и тогда формировать IP пакет.
Так и есть 0x0D 0x0A . И определение пакета будет однозначно .
Пока хочу попробовать хоть что-то передать .
borysik вне форума  
Непрочитано 17.10.2010, 10:26  
borysik
Прохожий
 
Регистрация: 25.09.2007
Сообщений: 8
Сказал спасибо: 2
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
borysik на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Сообщение от artist Посмотреть сообщение
тогда надо использывать функцию plen=fill_tcp_data_p(buf,plen,PSTR()) только вместо PSTR() нужно передавать указатель на буфер сообщения.
Вот! Спасибо.
Теперь с этой функции по подробнее.
Может даже буду задавать вопросы дурацкие.
Т.е. как я понял сначало у меня в МК должен должен быть буфер с сообщением? Указатель на буфер где в ENC28j60 или в моем МК?
На сколько я понимаю то мои данные я сначала должен передать целиком в буфер передачи ENC28j60 а потом при помощи функции указать на какой адрес и порт нужно кинуть данные из ТХ буфера. Или есть готовая функция ? При этом

ENC28j60 сама разбирается с коллизиями и передачей в сеть как модем.
borysik вне форума  
Непрочитано 17.10.2010, 11:31  
artist
Частый гость
 
Регистрация: 01.07.2005
Сообщений: 14
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
artist на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Нужно но создать буфер в мк в который нужно записать данные с uart, затем передаеш этот буфер функции uint16_t fill_tcp_data(uint8_t *buf,uint16_t pos, const char *s) где const char *s указатель на твои данные а уж функция сама запишет что куда надо while (*s) {
buf[TCP_CHECKSUM_L_P+3+pos]=*s;
pos++;
s++;
}
и вернет указатель конца данных return(pos);
который будет использыватся при следующих обращениях к функции
далее зовеь goto SENDTCP;передает их make_tcp_ack_with_data(buf,plen); там в конце enc28j60PacketSend(IP_HEADER_LEN+TCP_HEADER_LEN_PL AIN+ETH_HEADER_LEN,buf);она отправляет твой пакет enc.
artist вне форума  
Непрочитано 17.10.2010, 11:33  
artist
Частый гость
 
Регистрация: 01.07.2005
Сообщений: 14
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
artist на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Нужно но создать буфер в мк в который нужно записать данные с uart, затем передаеш этот буфер функции uint16_t fill_tcp_data(uint8_t *buf,uint16_t pos, const char *s) где const char *s указатель на твои данные а уж функция сама запишет что куда надо while (*s) {
buf[TCP_CHECKSUM_L_P+3+pos]=*s;
pos++;
s++;
}
и вернет указатель конца данных return(pos);
который будет использыватся при следующих обращениях к функции
далее зовеь goto SENDTCP;передает их make_tcp_ack_with_data(buf,plen); там в конце enc28j60PacketSend(IP_HEADER_LEN+TCP_HEADER_LEN_PL AIN+ETH_HEADER_LEN,buf);она отправляет твой пакет enc.

"ENC28j60 сама разбирается с коллизиями и передачей в сеть как модем "
да она полностью контролирует передачу и прием.
artist вне форума  
Сказали "Спасибо" artist
borysik (18.10.2010)
Непрочитано 21.02.2011, 14:12  
george carpenter
Прописка
 
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
george carpenter на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Народ ни у кого не завалялось схемки в Протеусе для ENC28J60 c PIC18(я буду связывать с PIC18F4620), так чтобы разводкой на RJ-45? Или проще на PIC18F67J60 перебежать, плохо его в Протеусе нет...

Последний раз редактировалось george carpenter; 21.02.2011 в 14:14.
george carpenter вне форума  
Непрочитано 21.02.2011, 15:50  
artist
Частый гость
 
Регистрация: 01.07.2005
Сообщений: 14
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
artist на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Тогда проще на PIC18F67J60 меньше разводки получится,я сам делал на avr, сейчас подумываю сделать на пике, вот только надо новый программатор делать
artist вне форума  
Непрочитано 21.02.2011, 16:20  
george carpenter
Прописка
 
Регистрация: 16.11.2010
Сообщений: 196
Сказал спасибо: 20
Сказали Спасибо 42 раз(а) в 42 сообщении(ях)
george carpenter на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

Сообщение от artist Посмотреть сообщение
Тогда проще на PIC18F67J60 меньше разводки получится,я сам делал на avr, сейчас подумываю сделать на пике, вот только надо новый программатор делать
Да сам хочу на PIC18F67J60 и схемы разводки есть только плохо в Протеусе его нет.
george carpenter вне форума  
Непрочитано 21.02.2011, 16:34  
artist
Частый гость
 
Регистрация: 01.07.2005
Сообщений: 14
Сказал спасибо: 0
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
artist на пути к лучшему
По умолчанию Re: Вопросы ENC28J60

вот посмотри сдесь http://www.lytnev.newmail.ru/shemes/...icEthernet.htm
да и зачем протеус лучше сразу в железе
artist вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 20:34.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot