ENC28J60 FAVE

Weslleymata
Ср 31 августа 2016 г., 17:18
Привет ,
Я проблемы с Ethernet с модулем ENC28J60, я купил карту в AliexPress .

[IMG]
https: // pt.aliexpress.com/item/1pcs-stm ... .81.GS0Moz[/img]

Протестировано в Arduino 1.6.3 и 1.6.11.

мой пример кода ENC28J60:
// PIN Connections (Using STM32F103): // // ENC28J60 - STM32F103 // VCC - 3.3V // GND - GND // SCK - Pin PA5 // SO - Pin PA6 // SI - Pin PA7 // CS - Pin PA8 //----------------------------------------------------------------- // // #include #include #define REQUEST_RATE 5000 // milliseconds // ethernet interface mac address static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 }; // remote website name const char website[] PROGMEM = "google.com"; byte Ethernet::buffer[700]; static long timer; // called when the client request is complete static void my_result_cb (uint8_t status, uint16_t off, uint16_t len) { Serial1.print("<<< reply "); Serial1.print(millis() - timer); Serial1.println(" ms"); Serial1.println((const char*) Ethernet::buffer + off); } void setup () { Serial1.begin(19200); Serial1.println("\n[getDHCPandDNS]"); if (ether.begin(sizeof Ethernet::buffer, mymac) == 0) Serial1.println( "Failed to access Ethernet controller"); if (!ether.dhcpSetup()) Serial1.println("DHCP failed"); ether.printIp("My IP: ", ether.myip); // ether.printIp("Netmask: ", ether.mymask); ether.printIp("GW IP: ", ether.gwip); ether.printIp("DNS IP: ", ether.dnsip); if (!ether.dnsLookup(website)) Serial1.println("DNS failed"); ether.printIp("Server: ", ether.hisip); timer = - REQUEST_RATE; // start timing out right away } void loop () { ether.packetLoop(ether.packetReceive()); if (millis() > timer + REQUEST_RATE) { timer = millis(); Serial1.println("\n>>> REQ"); ether.browseUrl(PSTR("/foo/"), "bar", website, my_result_cb); } }

ZMEMW16
Ср 31 августа 2016 г., 8:29 вечера
Вы разместили изображение «синей таблетки» - не сетевой модуль.
Стивен

Weslleymata
Чт, 01 сентября 2016 г. 1:57 утра
Привет, извините.
O Я использую ENC28J60 с Maple Mini.
Не работайте ENC28J60 с Maple Mini "STM32F103".

Rogerclark
Чт, 01 сентября 2016 г., 3:26 утра
Почему вы просто не искали форум для тех, кто использовал ENC28J60

Я быстро нашел это

https: // github.com/serasidis/ethernet_stm

Который, кажется, использует один и тот же чип Ethernet

Weslleymata
Чт, 01 сентября 2016 г., 10:49
Привет, Рогеркларк ,
Я создаю приложение, которое отправляет данные через Интернет, используя GET PHP, прежде чем я использовал ATMEGA328, но я Miguei для STM32F103 по причинам памяти и лучшей производительности.
Когда я использовал ATMEGA328 с ENC28J60 все, что он работал правильно, но сейчас я использую STM32F103 с ENC28J60 и не работает .

Я использую библиотеку STM32Duino -Master, обычно несет STM32F103 (Maple Mini), но, похоже, не работает.

Я использую IDE Arduino 1.6.3 .

Кто -то использует Arduino IDE и ENC28J60 и Maple Mini с примером PHP, пожалуйста, помогите мне .
Спасибо сейчас.

Weslleymata
Чт, 01 сентября 2016 г., 11:03
Смотрите, что тесты не удались DNS с моим серийным 1, плохо, когда я использую atmega328, все работает нормально.
[getDHCPandDNS] DNS failed >>> REQ >>> REQ >>> REQ >>> REQ >>> REQ >>> REQ >>> REQ >>> REQ <<< reply 1077 ms tii-01Àêäd <<< reply 1077 ms tii-01Àêäd >>> REQ <<< reply 371 ms tii-01Àêäd

Rogerclark
Чт, 01 сентября 2016 12:01
Попробуйте PM'ing @Vassilis, он написал этот код, у меня нет этого оборудования

Zoomx
Чт, 01 сентября 2016 г. 14:17
Проверьте, работает ли это с 8.8.8.8 вместо Google.компонент

Martinayotte
Чт, 01 сентября 2016 г., 14:43
Существует также библиотека arduino_uip, которую я использовал в F4, она должна быть тривиальной для переноса в F1.
https: // github.com/rogerclarkmelbourne/ ... rduino_uip

Weslleymata
Чт, 01 сентября 2016 г., 14:52
Всем привет,
но все же та же ошибка . Смотрите серийный монитор:
[getDHCPandDNS] DNS failed >>> REQ >>> REQ >>> REQ >>> REQ >>> REQ >>> REQ >>> REQ >>> REQ <<< reply 185 ms tii-01Àêäd <<< reply 186 ms tii-01Àêäd >>> REQ <<< reply 538 ms tii-01Àêäd

Weslleymata
Чт, 01 сентября 2016 г., 14:55
Мне нужно, чтобы STM32 Используйте динамический IP, то есть карта подключается к нескольким различным сетям, после получения IP -.

Я решил перейти на ATMEGA328 STM32F103 по причинам памяти.

И вот я новичок в мире коры - M3

Даниэфф
Чт, 01 сентября 2016 г., 21:01
Я попробовал ваш код, и я получил: использование сериала, это сработало, но используя serial1 (и, конечно, правильные булавки), это только [getdhcpanddns], а затем остановился (вероятно, внутри эфира.начинать(...))).

Так что, возможно, попробуйте сериал с A9/A10.

Weslleymata
Пт, сентябрь 02, 2016, 10:46
Доброе утро,
Я использую Serial1, потому что я использую кабель ST -Link V2 и использую одну карту Arduino в Serial1, чтобы общаться. Отправить данные в серийном мониторе .

Использование кабеля ST -Link V2 и посмотрите на серийный монитор ?

Weslleymata
Пт, сентябрь 02, 2016 13:35
Я подключил кабель Micro USB к мини -кленовой пластине, теперь я использую Serial и More Serial1 и ношу SCKETCH с помощью кабеля ST -Link V2 и IDE Arduino 1.6.3, плохо даже тогда сеть Ethernet не работает.

Загрузите в RTCClock и светодиодные PC13 Blink, и все работает нормально.
#include RTClock rt (RTCSEL_LSE); // initialise uint32 tt; #define LED_PIN PC13 // This function is called in the attachSecondsInterrpt void blink () { digitalWrite(LED_PIN,!digitalRead(LED_PIN)); } void setup() { pinMode(LED_PIN, OUTPUT); rt.attachSecondsInterrupt(blink);// Call blink } void loop() { if (rt.getTime()!=tt) { tt = rt.getTime(); Serial.print("time is: "); Serial.println(tt); } }

Weslleymata
Пт, сентябрь 02, 2016, 14:00
Ищу Maple Mini Board, когда я загружаю Scketch UIP_ETHERNET или SERASIDIS_ETHERNET_STM, сериал не работает, но когда я загружаю светодиод Scketch Blink, обычно работает, сериал .

Что это может быть?

Вассилис
Пн, 05 сентября 2016 г., 13:05
@ weslleymata
Извините за задержку, но я был очень занят (как большинство из нас) в течение последних месяцев.
Я видел Пример кода, который вы разместили И это работает нормально, по крайней мере, на моем модуле STM32F103C8T6 и ENC28J60 Ethernet.

Arduino Ide: 1.6.5
Libray: EtherCard_stm

Снимок серийного терминала Мой IP: 192.168.1.9
GW IP: 192.168.1.1
DNS IP: 192.168.1.1
Сервер: 62.1.38.163

>>> Req
<<< Ответ 86 мс
Http/1.0 404 не найдено
Контент-тип: текст/html; charset = utf-8
Длина контента: 1568
Дата: понедельник, 05 сентября 2016 г. 12:19:19

<!Doctype html>
<html lang = en>
<Meta charset = UTF-8>
<meta name = viewport content = "Начальная шкала = 1, минимальная шкала = 1, ширина = ширина устройства">
<заголовок>Ошибка 404 (не найдена)!!1</заголовок>
<стиль>
*{margin: 0; Padding: 0} html, code {font: 15px/22px arial, sans-serif} html {founal: #fff; color:#222; Padding: 15px} body {margin: 7% Auto 0; максимальная ширина: 390px; min-height: 180px; прокладка: 30px 0 15px}* > тело

...
Единственное, что мне нужно заметить, - это то, что по умолчанию выбор чипа (CS) - это PA8. Если вы хотите использовать какой -либо другой PIN -код, вы должны объявить его в эфире.начинать линию.

PA8 используется в качестве выбора чипа (настройка по умолчанию) if (ether.begin(sizeof Ethernet::buffer, mymac) == 0)

Weslleymata
Пт, 09 сентября 2016 г., 19:23
Привет, Вассилис ,
Я тестировал в своем доме и это нормальное функционирование, спасибо.

Другой вопрос: кристалл на доске составляет 8 МГц, но работает в 8 МГц или 72 МГц ?

Другой вопрос: я использую динамический IP, он будет использоваться в нескольких различных типах сетей, у бедных есть какие -либо сети, которые не работают, даже отключение сети брандмауэра ETH ENC28J60 не может подключаться к Интернету.

Спасибо за все .

Rogerclark
Пт, 09 сентября 2016 г., 20:31
На часовой частоте есть часы многолетнее, внутри STM32.
(Он установлен в 9 раз умножение, следовательно, 72 МГц, что является обычным часом для этого устройства)