Ви не увійшли.
Сторінки 1
Lic Control пише:Мой опыт работы с W5100 говорит о том, что зависания для нее обычное дело.
Проблемы с W5100 и как с ними борются описаны здесь: Ethernet Shield на W5100.
Может поможет? ... если не боитесь паяльникаP.S. А ресетить часто сетевую плату - дело дурное.
Дурное дело - давать советы, когда ты не в теме ))
В приведенной статье - исправление ошибки монтажа (если она есть - 510 ом вместо 49,9 по даташиту).
Из-за этого плата не работает с длинными (5м уже длинный) кабелями и капризна с разными роутерами/комутаторами.
Но если уж заработала, то работает...
А зависает она по причине перегрузки микроконтроллера W5100 и тут паяльник можно... (гусары молчать!)
Увы, перезапуск зависшей платы (шилда) - только через ресет.
Куча проектов, где авторы жалуются на такую "особенность" W5100. Погуглите.
Вот один из них.
цитата:
"Необходимо учитывать следующее. Веб - сервер на Arduino не использует многопользовательскую мультипрограммную операционную систему. Поэтому при обращении одного клиента передача данных будет идти только к нему. Второй клиент начнет получать данные только после закрытия соединения с первым клиентом. Поэтому большая HTML страница должна быть разбита на маленькие, которые быстро загружаются и сервер закрывает соединение. Благодаря этому может появиться возможность обращению к серверу 2-3 клиентов почти одновременно. Примерно через 10-15 минут интенсивного обращения к серверу он зависает (по опыту виснет Ethernet Shield W5100)."
Но в исходной заводской поставке они отличаются ... всегда ли? от всех производителей-поставщиков-продавцов?
Увы, кто-что зальет... Они же не официалы, а так, кооперативщики.
Исходя из этого взял за правило - перешивать все что оттуда приезжает нужным мне бутлоадером, и исправлением файла boards.txt под оптибут во всех остальных платках 168р,328р.
Если так сильно завален, то покажите конкретную ссылку (потому что когда "завалено" по какому-то вопросу, то не все экземпляры равнозначные, адекватные и вменяемые).
- это UNO:
Скетч использует 7334 байт (22%) памяти устройства. Всего доступно 32256 байт.
Глобальные переменные используют 770 байт (37%) динамической памяти, оставляя 1278 байт для локальных переменных.
Максимум: 2048 байт.
- это NANO:
Скетч использует 7334 байт (23%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 770 байт (37%) динамической памяти, оставляя 1278 байт для локальных переменных.
Максимум: 2048 байт.
Всё очень похоже, но об "идентичности" говорить как-то ... не совсем точно.
Неидентичны у них бутлоадеры и информация об этом в IDE.
В IDE для UNO используется оптибут. Длиной 512байт По этому IDE вычитает из размера флеш 32768 длину бутлоадера 512 и говорит что вам для скетча доступно 32256 (32768-512).
В NANO оставлен "исторический" бутлоадер (не оптибут) длиной 2к (2048) - вот IDE вам и вычитает 32768 -2048 = 30720.
Перешейте в NANO нормальный загрузчик (optiboot), откорректируйте в IDE файлик boards.txt и будет у вас все "идентично".
У меня так идентичны UNO, NANO, ProMini (5v,16Mhz).
Интернет завален видео, как NANO сделать идентичной UNO, даже не исправляя ничего в IDE..
Datasheet - это на процессор, а меня интересует готовое собранное изделие на этом процессоре + в каком-то конкретном исполнении (китайском).
И как по вашему "изделие" влияет на размер флеш или оперативной памяти процессора????
Не придумывайте себе "изделия"...
Все ардуинки - это просто макетная плата с процессором, входы/выходы которого просто выведены на контакты платы (в зависимости от конструктива(названия)).
328р, он и в UNO и в NANO и в ProMini и даже в африке 328р. 32к флеш 2к озу.
Еще у людей не видевших даташит, ходят популярные легенды о "аналоговых" входах. И что их в UNO 6, а в остальных 8.
Люди, читайте документацию, там все написано....
SRAM -> 2/1
EEPROM -> 1/0.51
Таблицу составлял пациет психушки. Он явно взял для нано что-то древнее на 168 чипе.
Не читайте безумные таблички, такие же форумы.
Читайте единственный документ - Datasheet на то, на чем любая из этих плат собрана.
ATmega328-328P
Если и там и там atmega328p - то они программно и функционально идентичны, как и ProMini на том же 328р.
А где 12Mhz?
В чём вообще отличия (кроме конструктивов) UNO vs NANO?
Кроме конструктива - ничем.
Нет разъема для внешнего питания 7-12в (его роль исполняет вход VIN)
(то же и в ProMini, только там это уже называется RAW).
И кварц 12 мгц (для синхронизации USB) есть, только на обратной стороне.
P.S. И этот "продвинутый" топикстартер давал "умные" советы по bootloaderу ????
В ИДЕ же есть исходник оптибута. Самому скомпилировать не пытались?
В общем так и было сделано. Исходник из оптибута (с гитхаба) был разобран по строкам (благо там иногда даже есть коменты) и скомпилирован под 3 вида 8 мгц -168, 168Р и 328Р. Вопрос закрыт, всем спасибо.
P.S. Удивляет правда, что такое не лежит на просторах нета, учитывая сколько таких платок продают китайцы...
Понятно что хотелось бы пошаговую инструкцию, типа для дебилов. Но тогда ведь проблема со счётчиком постов, логично?)))
Я не просил и не нуждаюсь в пошаговой инструкции. Я просил файлик (или ссылку на него) загрузчика для 168р 8Мгц.
Для 328р 8Мгц я нашел такой файлик на форуме arduino.cc. Теперь вопрос с 328р закрыт.
Открытым остался вопрос с 168р 8Мгц. Вариант загрузчика 16мгц мне не подходит.
=== в пакете такого не вижу... у меня есть optiboot_atmega168.hex
Вот полные кишки оптибута на гитхабе, там есть:
https://github.com/majekw/optiboot
=== в настройках какие параметры платы выбираешь ?
pro168o.name=[Optib] Arduino Pro Mini (3.3V,8Mhz) ATmega168P
pro168o.upload.tool=avrdude
pro168o.upload.protocol=arduino
pro168o.upload.maximum_size=15872
pro168o.upload.maximum_data_size=1024
pro168o.upload.speed=38400
pro168o.bootloader.tool=avrdude
pro168o.bootloader.low_fuses=0xc6
pro168o.bootloader.high_fuses=0xde
pro168o.bootloader.extended_fuses=0xfc
pro168o.bootloader.unlock_bits=0x3F
pro168o.bootloader.lock_bits=0x0F
pro168o.bootloader.file=optibootmy/optiboot_pro_8MHz.hex
pro168o.build.mcu=atmega168
pro168o.build.f_cpu=8000000L
pro168o.build.board=AVR_PRO
pro168o.build.core=arduino:arduino
pro168o.build.variant=arduino:standard
-------------------------------
pro168o.upload.speed=38400 - пробовал от 9600 до 115200 - заливаться скетч не желает...
------------
Пишет:
Using Port : COM3
Using Programmer : arduino
Overriding Baud Rate : 38400
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xec
Кудрявый, включайте мозги, думайте, разбирайтесь. В любом случае, полезно.)) Ардуино ИДЕ ведь использует какой то конкретный протокол, а не тот который вам хочется.)) Либо доработайте, что бы угадывало мысли клиентов. ИИ называется.)))
Че за поток подсознания?? По делу сказать нечего? Посты набиваем?
Но почему вы решили что это именно OptiBoot?
В IDE это (название) нигде и никак не видно.
наверное стоит посмотреть в папки, почитать их названия и глянуть содержимое. много интересного...
еще стоит глянуть файл boards.txt и увидеть там такую строчку:
uno.bootloader.file=optiboot/optiboot_atmega328.hex
Т.е. оптибут есть в IDE, но прописан в boards.txt только для Uno.
В нете куча статей/видео как распространить оптибут на Нано и ПроМини 328р/5в/16мгц.
Молчок только о 8Мгц/3,3в.
Вы можете что-то по сути вопроса ответить?
Непонятно что вы хотите...
Что такое "маленький (512к)" ... это 512Kb? н-да ... маленький
Какой у вас Arduino IDE, версия?
IDE 1.8.4 - последний релиз.
Маленький - это оптибут 512байт (с "к" ошибся, это да )
Почему вы решили что там "прям из IDE можна зашить OptiBoot"?
Я не решаю, я шью.
И зашил оптибут уже во все 328р/5в/16мгц - Uno,Nano, ProMini
Проблемки пока только с версиями 3,3в/8мгц. Особенно с вариантом 168р.
Может проще взять зарядное от мобилки (вполне подходят старые, от ненужных уже телефонов)?
Их валом 5-ти вольтовых (через VIN) c током от 350ма (меньше не встречал). Вам вполне хватит и решение проверенное и надежное.
Особенно от нокий.
Современные безкорпусные БП я купил на ебеях, посмотрел и побоялся ставить в устройство постоянно подключенное к сети...
Прикупил ProMini с камнем atmega168P 3,3в 8Мгц.
В них залит бутлоадер старого образца (не OptiBoot), занимающий 2кб из 16.
Чего хочется от бутлоадера - маленький (512байт) и с рабочим вотчдог.
На 328Р проблем нет - туда прям из IDE можна зашить OptiBoot.
Для 168P в IDE вообще ничего нет. Для 168 в IDE есть старый, который меня не устраивает.
Прошу - рабочий OptiBoot для 168 (8Мгц) камня.
Взятый из пакета OptiBoot - optiboot_pro_8MHz.hex заливается, но потом программу с его помощью залить нельзя
В своей конструкции с Arduino Uno, Ethernet Shield W5100 проблему зависаний решил так:
резет шилда - отрезал ногу разьема на шилде (нужно в двух местах собственно резет и его дубль на ISP колодке).
Резет завел от одного из выходов УНО и делаю его программно, в секции сетап скетча.
Если случается зависание - резет этого бутерброда через Watchdog.
Можно принудительно резетить это все через определенное время, я сделал это раз в сутки, просто без причин. Можно через 2 мин (видел описание подобной конструкции)
Сторінки 1