Да, все сделал как описано в посту №50: скачал мега-коре, установил набор плат, все появилось как надо. Ардуино ИДЕ 1.6.5 rev 5.0. Прошил пример Arduino ISP в Нано, переключил тип платы на Мега128, запретил BOD, LTO .. пробовал устанавливать частоту 16Мгц, как на кварце и внутреннюю 8 и 1Мгц - бесполезно. Ресет подтянут через 10кОм на питание, есть кнопка на землю и параллельно её стоял конденсатор 100нФ. Отпаял кондер - результат тот же.
Подключение (Нано -> Мега128):
v1: +5в -> +5в, gnd -> gnd, Reset -> Reset, D11 -> Rx0 (2pin), D12 -> Tx0 (3pin), D13 -> SCK (11pin), Pen - болтается в воздухе (на Мега128А должна быть вн. подтяжка к +5в)
Итог - "Я сделал 10 попыток связаться, все 10 попыток ушли в таймаут"..
v2: все тоже самое, только D10 наны подключаю на Reset программируемой меги как написано в комменте примера. Вылезает эта ошибка при любой установке кварца.
P.S. Перепрозванил ещё раз все соединения, нашел 2 ошибки монтажа, но они не имеют отношения к этим сигналам. Потребление питания от Нано показывает 67мА.. как-бы в норме, не знаю. Камень после десятка попыток прошить его стал слегнка теплый, но и только... типа рабочий .. х.з. как проверить.
P.S. Перепрозванил ещё раз все соединения, нашел 2 ошибки монтажа, но они не имеют отношения к этим сигналам. Потребление питания от Нано показывает 67мА.. как-бы в норме, не знаю. Камень после десятка попыток прошить его стал слегнка теплый, но и только... типа рабочий .. х.з. как проверить.
программатор USBASP есть? проверить ччтение запись.
можно прогой ponyprog и подключить к LPT порт (надо несколько резисторов) , или СОМ порт (надо немного рассыпухи) , просто прочесть конфигурацию, прочесть - записать . Вот и проверка.
атмега128 откуда? новая? или где юзанная (если там напортачено с фьюзами , то спасет только реаниматор (восстановление фьюзов параллельным программированием)
Arhat109-2 пишет:
......
есть кнопка на землю и параллельно её стоял конденсатор 100нФ. Отпаял кондер - результат тот же.
....
это как? соберите обвязку по схеме ! кондер нельзя цеплять параллельно , ардуина что должна упираться разряжать/заряжать его когда ей надо посать импульс reset? ( он цепляется последовательно с DTR для заливки скетчей.)
Arhat109-2 пишет:
... P.S. Перепрозванил ещё раз все соединения, нашел 2 ошибки монтажа, но они не имеют отношения к этим сигналам. Потребление питания от Нано показывает 67мА.. .... Камень после десятка попыток прошить его стал слегнка теплый, .....
Программатора нет, и вообще ни разу не прошивал камни. Поэтому и использовал в качестве программатора Нанку.
ATmega128A - новая. Получена коллегой с Али в партии 5шт. Одну выменял у него на микросхему памяти HM628512BLP-7 (512kbx8 70us). Оно примерно одинаково по деньгам, что та что друггая взяты рублей по 40/шт.
Обвязка сейчас как раз "по схеме": reset подтянут 10к к питанию, подключена кнопка на землю и припаян кварц 16Мгц (в нормальном, а не SMD корпусе) с 2-я кондерами на 22пф, снятыми с платы Ардуино Мега2560. По сути и все. Дополнительно на плате есть стабилизатор питания от внешнего источника на AMS1117 + вх. диод + 2 электролита по 47.0х25в (все снято с той же Меги) + 2 кондера по питанию по сторонам платы по 100нф + кондер с Aref на землю 100нф + RC фильтр с переключателем на питание AVcc АЦП блока. Переключатель позволяет питать АЦП или с фильтра от всего питания платы или просто с внешнего входа напрямую. Собственно это вообще все "навесные" детальки, кроме разъемов по типу расширительного шилда, которые ещё и не запаяны даже.
Ошибки монтажа, выявленные на сейчас: 1. не запаян кусок штырьков "питание +5в" линейки интерфейсов на общую шину питания платы, из-за чего подача внешнего питания напрямую от Наны на UART0 - не доходила до камня и платы в целом; 2. КЗ между ресет и землей - выявлено до начала попыток программирования. 3. КЗ между ножками переключателя питания AVcc АЦП блока - из-за чего питание с фильтра уходило на выходной штырек и только. Ни на что не влияет.
Не устранил пока, потому что не вижу надобности: выход Pen висит в воздухе, оказался не подпаян к дорожке, которая никуда не идет кроме как на штирек "Pen" .. можно подтянуть к питанию через 10к, но по даташиту он и так уже подянут внутренней подтяжкой. Все остальное - это выводы камня идут на штырьки расширительных разъемов .. все в норме КЗ- не обнаружено, соединение с гнездами есть, сами штырьки ещё не паялись кроме UART0 и SPI интерфейсов.
.. не знаю. 67мА мне кажется нормальным потреблением схемы, учитывая наличие на плате AMS1117, хотя как он ведет себя при наличии на его выходе внешних 5в при отсутствующем питании на входе? Я - ХЗ..
Arhat109-2, флюс нормально отмыли? 67мА мне кажется большой величиной. Для Ардуины на 1280 декларируют максимальный ток в 50мА, и это со всем дополнительным обвесом. У Вас же кроме камня и нет ничего.
Флюс ещё не отмывал вовсе. Плата залита канифолью "по уши". Снял все лишнее с платы: стабилизатор, кнопку, кондеры стаба .. ток потребления упал до около 50мА. Согласно рисунков 162,169 даташита, типичное потребление на 5в и 16Мгц надо ожидать в районе 32мА в активном и 17мА в режиме idle и для вн. 8Мгц там же 19 и 9мА соответственно, что сильно смущает моими 50мА явно в режиме idle и внутренним генератором по умолчанию ..
Коллега выделил ещё одну из запаса 5шт на попробовать .. Попробовал подпаяться к 21,22 выводам ещё одной Меги и замерять потребление .. то, что есть "в руках" - китайская Ц-шка только с 10А шкалой, не показала ничего вовсе .. то есть потребление меньше 10мА. В общем, похоже что-то не так запаял или где-то коротит ..
Хотел Вам предложить, развести макетку с пинами питания, кварца и программирования и на ней попробовать прошить, да и токи померить. А потом уже с большим творением разбираться. ИМХО.
UPD, хотя по канифоли не должно лезть ничего. На активном, да, нагорал. Он при разогреве эл.проводным становился.))))
В общем, с криками снял мегу с платы .. подпаялся к 21,22 пинам и .. потребление камня в воздухе всего 2.2мА (дома есть чем измерять) .. похоже что были таки коротыши на плате, возможно ПОД микросхемой. Пока снимал, оторвал ещё 4 дороги от платы .. в общем, отбой. Буду переразводить плату и делать новую. Эта разводка никуда не годится.
В общем, что-то я явно делаю не так. Не прошивается мега128а через Нанку ни в какую. Более того, попробовал прошить одну Нано через другую - ваще фигня полная. Поставил ИДЕ 1.8.2 - результат тот же.
Вот так подключаю плату к Нано:
10-й пин Нано (зеленый провод) идет на Reset меги(20пин), 11-й (синий) Нано - на Rx0 Меги(2пин), 12-й (красный) от Нано - на Tx0 (3) Меги, и 13-й от Нано (желтый) идет на SCK(11) 128-й меги. Белый - +5в, черный - земля.
В итоге, что на 1.6.4, 1.6.5 и 1.8.2 результат ровно тот же, что и приведен выше. Пайка платы прозвонена уже раз на 500 .. потребление микроконтроллера - 8-9мА - "в норме", пытаюсь прошить загрузчик с выбранным параметров "Clock: 8Mhz internal" поскольку кварц на плату ещё не установлен.
----------------------------
Аналогично, попробовал прошить загрузчик через Нано в другую Нано:
Вывод MOSI от "главной" отправил на MISO прошиваемой Нано, и наоборот MISO главной ушел на MOSI прошиваемой Нано. Остальное согласно описанию. В итоге на ИДЕ 1.8.2 получил такой результат:
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x15
Хоть так, хоть эдак - результат тот же. ИДЕ 1.8.2., в меню стоит: "плата - Arduino Nano, процессор, atmega328, порт - /dev/ttyUSB0, программатор - Arduino as ISP" Нажимаю "Записать загрузчик" и получаю вот такую ошибку. Попробовал соединить MISO-MISO, MOSI-MOSI текст (найдите 2 отличия):
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x15
На фото подключения 128-й меги: слева от питания - интерфейс SPI, в нем использована только 11 нога (желтый провод). Идет на 13-ю ногу Нано, которая за программатор. Справа от питания: Reset, Rx0(PDI), Tx0(PDO) .. они и подключены: Reset зеленым проводом на 10 ногу Нано, Rx0 синим проводом на 11 ногу и Tx0 красным на 120ю ногу.
Сейчас попробовал тупо вовсе отключить от Нано-программатора устройство, которое она программирует вовсе. Результат точно такой же как и при попытках прошить другую Нано (привел сегодня выше) .. то есть получается, что Нано вообще не видит вторую себя!
А вот при попытке прошить 128-ю мегу пишет то, писал раньше при первой попытке прошить, могу выложить ещё раз от ИДЕ 1.8.2:
avrdude: Version 6.3, compiled on Jan 17 2017 at 11:00:16
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "/home/arhat109/.arduino15/packages/MegaCore/hardware/avr/1.0.6/avrdude.conf"
User configuration file is "/home/arhat109/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/ttyUSB0
Using Programmer : stk500v1
Overriding Baud Rate : 19200
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x15
AVR Part : ATmega128
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x10
Hardware Version: 4238238
Firmware Version: 0.0
Topcard : STK502
Vtarget : 1.8 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: stk500_initialize(): (b) protocol error, expect=0x10, resp=0x01
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
Взял кабель потолще - результат тот же. За это время обчитался уже интеренету у всех шьется нормально, у меня стабильно выдает ошибку даже при попытке прошить одну Нано через другую.
Попробовал изменить скорость BAUDRATE в скетче ArduinoISP .. на 9600 - выдает 0х60, 0х66, 0х6е по очереди в разных попытках; выше 19200 выдает только 0хfa и далее 0xff
Решил что возможны накладки из-за наличия нескольких версий ИДЕ одновременно. Снес (переименовал) все папки для ИДЕ, распаковал заново 1.8.2 .. результат тотже.
Для UNO было в нескольких местах что прошивальщик должен иметь доп. кондер на 10мкф на своем ресете на землю. Попробовал от 10мкф до 100нф: выдает ошибку идентификации платы.
Внезапно, забыв поменять программатор с "Arduino as ISP" залил блинк в первую Нану (прошивальщик) .. скетч залился совершенно нормально, несмотря на то что стоял "кривой" программатор .. как это?
В общем, такое ощущение что что-то не так в линуксовой версии ИДЕ. Пошел искать винду..
Там для прямой заливки скетча через программатор нужно выбирать Скетч -> Загрузить через программатор, простым способом, да, зальете в первую дуню. Кстати скорости программатора правильные стоят в настройке прошивки и в драйвере? А то может в драйвере стоит другая скорость.
Кстати тоже чертыхался с 128 камнем, в итоге победил, но шьется все равно не каждый раз.
А что за драйвер требуется? Ни разу никаким не пользовался на своем Линуксе, все заливается на ура. Просто указываю порт /dev/ttyUSB0 .. 1,2,3 .. куда подключен кабель с Ардуинкой и все. В самом начале, при установке достаточно добавить себя в группу dialout, чтобы Линукс разрешил запись в usb порты и всё.
Может как тут проблема, что для прошивки, кроме дудки ещё и какой-то драйвер нужен?
В programmers.txt для Arduino as ISP указана скорость 19200, и есть доп.параметр -b, который при заливке программ из ИДЕ почему-то указывается на 57600, а при записи загрузчика -b 19200 как надо .. в скетче примера ArduinoISP.ino тоже стоит 19200 и на другой оно не фурычит, проверял ..
Щас вот обратил внимание на строку запуска дудки по кнопке "Записать загрузчик":
Вы все верно описали. Драйвер - то как общаться с устройством и в данном случае это несколько строчек в programmers.txt. Именно скорость указанная в скетче ArduinoISP и скорость обмена в programmers.txt для загрузчика должны совпадать.
Кстати в первый раз 128 удачно прошил без кварца и скорость вроде была понижена до 2400бод. После сменил фьюзы на нормальные. Где-то в даташите вроде указывется это, по умолчанию 128 затактована от внутреннего генератора на 1МГц если правильно помню.
А что за драйвер требуется? Ни разу никаким не пользовался на своем Линуксе, все заливается на ура. .....
Arhat109-2 у вас затык счто ардуиной ардуину прошить не получается. с этим разберитесь сначала, а потом с мегой128 само собой получится. Ничего мудрить там не надо. Все уже обсасоно в соответствующих темах и в инете . (восстановление ардуины,...) .
Самое простое - заливать загрузчик через ардуину , пользуя ее как программатор ( со скетчем arduino isp ) , потому как она и фьюзы шьет как надо. Если есть USBASP в наличии , то им тоже можно.
Так вот это обсосанное на 100раз и НЕ получается ..
взял Ардуино Нано, залил в неё скетч из примера Arduino as ISP, соединил контакты проводками (у меня комплект по 20см .. может слишком длинные?) 10 -> reset, 11->11, 12->12, 13->13, 5v->5v, GND->GND, тут выше пост №69 - третье фото, но на нем поменяны местами 11 и 12 контакты, исправился (уже подсказали в №70). Даже поставил на 9,8 и 7 ногу 3-х цветный светодиод для диагностики.. сердечком мерцает как положено. Выбрал плату "Ардуино Нано", проц "328", и загрузчик "Arduino as ISP", нажимаю "Записать Загрузчик" и .. получаю ошибку поста №71 или №74 в зависимости от того, включен у меня детальный вывод или нет.
в №75 посоветовали поменять кабель или перейти на винду .. кабель поменял - результат тот же. Винду доустанавливаю, как только, так сразу скачаю ИДЕ и буду пробовать .. но, в чем дело - так и не понял до сих пор.
Пробовал подавать на прошиваемую Нану 5в от отдельного БП, думал что 4.75в от USB недостаточно, пофиг. Результат - тот же.
Что ещё и куда рыть - пока не понимаю от слова "совсем". У меня этих Нано - 10шт, все работают и скетчи заливаются "на ура", а вот загрузчик не шьется ни в одну. ИДЕ 1.8.2.
Поднял 4-й пенек, поставил хрюшу, поставил ИДЕ 1.8.2. и драйвер CH340G с сайта производителя. Нано прошилась с первого пинка. Проблема в Линукс. Все, пошел переливать на него ПО для заливки 128-й меги..
Да, всё нормально. Прошил ATmega128A на своей плате со второй попытки. Прозвон показал что сигнал от входа reset до ноги камня идет с сопротивлением 32 ома .. непропай.
УР-ра! Всем спасибо за участие и помощь... п-а-л-у-ч-и-л-а-с-с-я .. :)
Да, всё нормально. Прошил ATmega128A на своей плате со второй попытки. Прозвон показал что сигнал от входа reset до ноги камня идет с сопротивлением 32 ома .. непропай.
УР-ра! Всем спасибо за участие и помощь... п-а-л-у-ч-и-л-а-с-с-я .. :)
Перепрошил загрузчик на частоту 20Мгц .. прошилось с первого раза. Потребление платы выросло до 34мА, всё строго согласно даташита. Смущает что заливка прошла как-то слишком шустро .. согласно отчету avrdude за 0.05сек. на скорости 19200.
Здравствуйте. А кто-нибудь добивался работы Atmega128 и дисплея tft 2.4 на ili9341? Библиотека "SPFD5408-master" c гит хаба. https://github.com/JoaoLopesF/SPFD5408 ( Кстати, на 328 атмеге все чудесно работает с этой библиотекой, но свободных пинов почти не остается.). Ковырял ее долго. Но опыта маловато. Исправлял файлы библиотеки и "pin_magic.h" и "SPFD5408_Adafruit_TFTLCD.cpp". Не помогло. Может кто подскажет как Atmega128 с TFT 2.4 на ili9341 поженить. На данный момент при загрузке график теста из примеров экран мерцает и видно, что процесс идет. Но, похоже, не происходит инициализации дисплея и картинки нет, только мерцание. В Atmega128 загрузчик MegaCore с гит хаба (https://github.com/MCUdude/MegaCore). Исправленная мной библиотека здесь https://yadi.sk/d/HlwgoRtS3HYgNZ .
AndreyE , в чем именно у вас затык ? и какой именно дисплей? tft 2.4 на ili9341 м.б. аж 3-х разновидностей. продаются с шинами SPI и 8бит, еще м.б. 16бит, библиотеки у них разные. подходы разны, вереницу всю времени нет выкладывать. попробуйте с либой UTFT (там если по быстрому - к меге2560 приписать мегу128 , а упоминание портов H закоментить). c adafruit вроде еще проще было.
Подключал все разновидности шин диспов , на разных библиотеках. всё работает. править либы пришлось неприлично мало. где-то в форуме выкладывал, набегом пока не нашел где.
// на меге128 както немножко пошустрее вывод инфы на дисп получился, в отличии от atmega328 .
// порты если желаете использовать можно какие желаете, менять в этом же файле , меняя PORT.. , и помня заменить DDR.. тоже (задается его конфигурация на выход)
вообще можно многие условия ненужные повырезать затачивая под свой камень, пошустрее будет шевелиться либа.
AndreyE, значит гдето чтото еще упустили. На адафруите какой порт переназначали и где что меняли? киньте еще фоток. Т.к. портов полноценных (8ит свободны) много, то имеет смысл использовать весь порт целиком - это будет побыстрее вывод графики , чем в оригинальной либе адафруит.
кликабельно:
(переходника с DTR под руку не попался, взял дешманский и вывел. кондер для дифференцирующий лишний ибо на плате уже предусмотрел его) . Самое полезное в атмега128 для меня оказалось что она может работать на 3.3в на тех же 16МГц - очень удобно подключать напрямую шилды TFT LCD требующие согласование уровней 3.3-5в. Для этого поставил стаб ams1117-3.3 и предусмотрел переключение питания. надо еще на на разъем для "программатора" поставить на rx tx резисторы ом эдак на 220, чтоб 5в уровни от ch340 гасились, если atmega128 запитана от 3.3в.
// (будет время, проверю ваш код для подобного шилда 8бит)
Добивайте все-же адафрут либу и подключение. а по UTFT в инете она везде расписана. к примеру первое попавшееся из яндекса https://geektimes.ru/post/258166/
и даж далеко ходить не надо, в папке documents в этой либе лежат описания ее.
и в ее примерах описано UTFT myGLCD(ITDB50,38,39,40,41); - пины шины управления вы задаете сами куда пожелаете подключить.
// Arduino Uno / 2009:
// -------------------
// Standard Arduino Uno/2009 shield : <display model>,A5,A4,A3,A2
// DisplayModule Arduino Uno TFT shield : <display model>,A5,A4,A3,A2
//
// Arduino Mega:
// -------------------
// Standard Arduino Mega/Due shield : <display model>,38,39,40,41
// CTE TFT LCD/SD Shield for Arduino Mega : <display model>,38,39,40,41
//
// Remember to change the model parameter to suit your display module!
// model RS WR CS RST
//UTFT myGLCD(31, 38, 39, 40, 41);
//UTFT myGLCD(31, A5, A4, A3, A2);
на оставшийся RD подаете лог.1 , или с таким шилдом +5v (Vсс ) или +3.3в
// код при размещении можно свернуть , на второй вкладке есть для этого галка. Сообщения свои можно подредактировать.
//// увы из вашего фото не видно правильно ли вы подключили. хрустальным шаром не владею. При подключении можно легко спутать пины самой микросхемы и пины ардуиновские . перепроверьте.
Да, за дисплеем небыло никакого чипа. Пытаться посмотреть модель чипа за дисплеем для подбора соответствующей библиотеки, похоже, далеко не всегда помогает. Из этого аццкава дисплея с дурной кармой выпаивать ничего не буду...:))))) Заказал 2,8 со SPI.
Использовал библиотеки Adafruit, UTFT и MCUFRIEND_kbv. Остановился на последней. Она пошустрее будет)))
Библитотека само собой ковырялась. Все делалось по аналогии с 2560 атмегой.
По поводу прошивки загрузчика. Шил обычным китайским usb asp програматаром, причем первая прошивка без кварца. Все прошивки загрузчиков производил из среды ардуино.
и последняя фотка - сравнение двух плат 128й атмеги(зеленая - первая проба нанесения маски) с китайской mega2560.
круто, раз так основательно делали и много стабов и рассыпухи, то можно было и CH340 запихнуть.
скорость от много зависит, хотя наверно сами уже разобрались. подикась для адафруитской распиновки 89 234567 подвели цельный порт , чтоб шилд подключался к 01234567 .
Увеличение скорости вывода графики для TFT LCD шилдов дисплеев ардуино :
1. на 320x240 само собой будет в 2 раза быстрее разрисовать весь экран чем 480x320.
2. 16бит немного побыстрее будет чем 8бит, особенно для определенных типов контроллеров.
3. выводить на цельный порт (особо как в UTFT шилдах), а не как в УНОвских шилдах для УНО(2 разных порта) иль того хуже Меги(3 разных порта). Хотя при разводке на меге128 можно было резвести цельный порт, и в либе изменить конфиг и вывод на него.
4. убрать в либе все лишние условия и разветвления (к примеру как пиленная UTFT 8bit turbo )
5. вырезать все лишние иниты. В UTFT это в раскоментирование в memorysaver.h . В адафруите в Adafruit_TFTLCD.cpp вырезать все лишние иниты и условия .
6. использовать диспы у контроллеров которых минимальное количество команд для рисования пикселя. (подсмотреть можно в файлах setxy.h либы UTFT )
7. вырезать из либы лишний CS (ибо при каждой команде он используется дважды ) и замкнуть его на gnd , как в comment-192385.
8. для определенных контроллеров (setxy) , при не больших разрешених диспа =< 400x320 , можно вообще избавиться от половины команд !!!!!!!! при рисовании каждого* пикселя (пример #comment-93736 )
Подскажите пож можно такое ардуино из атмеги 64 сделать?
Обучаю пользованию гуглом:
1) Открываете гугл
2) Пишете туда atmega64 arduino
3) Смотрите первые ссылки:
https://forum.arduino.cc/index.php?topic=386733.0
https://github.com/MCUdude/MegaCore
4) PROFIT!
Спс большое))) я писал в гугле ардуино из атмега 64 и ничего толком не нашел)
Еще раз спс, только вникаю в мк, много ещё не понимаю(
я писал в гугле ардуино из атмега 64 и ничего толком не нашел)
не ври https://www.google.com/search?q=arduino+ATmega64
я писал в гугле ардуино из атмега 64 и ничего толком не нашел)
Не нужно писать осмысленные фразы как для человека, нужно писать ключевые слова. И желательно на языке оригинала - на английском.
все получилось за 5 мин)
а что за параметры: BOD 2.7v? BOD 4v? и Compiler LTO?
это появилось в меню инструменты под выбором платы.
а что за параметры: BOD 2.7v? BOD 4v? и Compiler LTO?
Снова открываешь вторую ссылку из сообщения #53 и внимательно смотришь список "Table of contents". Там есть и про BOD, и про LTO.
UPD: Более подробно про BOD тут - http://fusecalc.mirmk.net/help/help04.htm
Попробовал залить загрузчик как тут описано в посте №50 через Ардуино Нано - фиг-то там. avrdude выдает такое:
Что с этим делать? И можно ли как-то понять что плата и камень запаяны верно?
а mosi , miso правильно подключили к PDO, PDI? вывод PEN и RST через 10К резистор на VCC подтянуты?
Да, все сделал как описано в посту №50: скачал мега-коре, установил набор плат, все появилось как надо. Ардуино ИДЕ 1.6.5 rev 5.0. Прошил пример Arduino ISP в Нано, переключил тип платы на Мега128, запретил BOD, LTO .. пробовал устанавливать частоту 16Мгц, как на кварце и внутреннюю 8 и 1Мгц - бесполезно. Ресет подтянут через 10кОм на питание, есть кнопка на землю и параллельно её стоял конденсатор 100нФ. Отпаял кондер - результат тот же.
Подключение (Нано -> Мега128):
v1: +5в -> +5в, gnd -> gnd, Reset -> Reset, D11 -> Rx0 (2pin), D12 -> Tx0 (3pin), D13 -> SCK (11pin), Pen - болтается в воздухе (на Мега128А должна быть вн. подтяжка к +5в)
Итог - "Я сделал 10 попыток связаться, все 10 попыток ушли в таймаут"..
v2: все тоже самое, только D10 наны подключаю на Reset программируемой меги как написано в комменте примера. Вылезает эта ошибка при любой установке кварца.
P.S. Перепрозванил ещё раз все соединения, нашел 2 ошибки монтажа, но они не имеют отношения к этим сигналам. Потребление питания от Нано показывает 67мА.. как-бы в норме, не знаю. Камень после десятка попыток прошить его стал слегнка теплый, но и только... типа рабочий .. х.з. как проверить.
.....
P.S. Перепрозванил ещё раз все соединения, нашел 2 ошибки монтажа, но они не имеют отношения к этим сигналам. Потребление питания от Нано показывает 67мА.. как-бы в норме, не знаю. Камень после десятка попыток прошить его стал слегнка теплый, но и только... типа рабочий .. х.з. как проверить.
программатор USBASP есть? проверить ччтение запись.
можно прогой ponyprog и подключить к LPT порт (надо несколько резисторов) , или СОМ порт (надо немного рассыпухи) , просто прочесть конфигурацию, прочесть - записать . Вот и проверка.
атмега128 откуда? новая? или где юзанная (если там напортачено с фьюзами , то спасет только реаниматор (восстановление фьюзов параллельным программированием)
......
есть кнопка на землю и параллельно её стоял конденсатор 100нФ. Отпаял кондер - результат тот же.
....
это как? соберите обвязку по схеме ! кондер нельзя цеплять параллельно , ардуина что должна упираться разряжать/заряжать его когда ей надо посать импульс reset? ( он цепляется последовательно с DTR для заливки скетчей.)
... P.S. Перепрозванил ещё раз все соединения, нашел 2 ошибки монтажа, но они не имеют отношения к этим сигналам. Потребление питания от Нано показывает 67мА.. .... Камень после десятка попыток прошить его стал слегнка теплый, .....
возможно всеже имеют отношение
Программатора нет, и вообще ни разу не прошивал камни. Поэтому и использовал в качестве программатора Нанку.
ATmega128A - новая. Получена коллегой с Али в партии 5шт. Одну выменял у него на микросхему памяти HM628512BLP-7 (512kbx8 70us). Оно примерно одинаково по деньгам, что та что друггая взяты рублей по 40/шт.
Обвязка сейчас как раз "по схеме": reset подтянут 10к к питанию, подключена кнопка на землю и припаян кварц 16Мгц (в нормальном, а не SMD корпусе) с 2-я кондерами на 22пф, снятыми с платы Ардуино Мега2560. По сути и все. Дополнительно на плате есть стабилизатор питания от внешнего источника на AMS1117 + вх. диод + 2 электролита по 47.0х25в (все снято с той же Меги) + 2 кондера по питанию по сторонам платы по 100нф + кондер с Aref на землю 100нф + RC фильтр с переключателем на питание AVcc АЦП блока. Переключатель позволяет питать АЦП или с фильтра от всего питания платы или просто с внешнего входа напрямую. Собственно это вообще все "навесные" детальки, кроме разъемов по типу расширительного шилда, которые ещё и не запаяны даже.
Ошибки монтажа, выявленные на сейчас: 1. не запаян кусок штырьков "питание +5в" линейки интерфейсов на общую шину питания платы, из-за чего подача внешнего питания напрямую от Наны на UART0 - не доходила до камня и платы в целом; 2. КЗ между ресет и землей - выявлено до начала попыток программирования. 3. КЗ между ножками переключателя питания AVcc АЦП блока - из-за чего питание с фильтра уходило на выходной штырек и только. Ни на что не влияет.
Не устранил пока, потому что не вижу надобности: выход Pen висит в воздухе, оказался не подпаян к дорожке, которая никуда не идет кроме как на штирек "Pen" .. можно подтянуть к питанию через 10к, но по даташиту он и так уже подянут внутренней подтяжкой. Все остальное - это выводы камня идут на штырьки расширительных разъемов .. все в норме КЗ- не обнаружено, соединение с гнездами есть, сами штырьки ещё не паялись кроме UART0 и SPI интерфейсов.
.. не знаю. 67мА мне кажется нормальным потреблением схемы, учитывая наличие на плате AMS1117, хотя как он ведет себя при наличии на его выходе внешних 5в при отсутствующем питании на входе? Я - ХЗ..
Arhat109-2, флюс нормально отмыли? 67мА мне кажется большой величиной. Для Ардуины на 1280 декларируют максимальный ток в 50мА, и это со всем дополнительным обвесом. У Вас же кроме камня и нет ничего.
Флюс ещё не отмывал вовсе. Плата залита канифолью "по уши". Снял все лишнее с платы: стабилизатор, кнопку, кондеры стаба .. ток потребления упал до около 50мА. Согласно рисунков 162,169 даташита, типичное потребление на 5в и 16Мгц надо ожидать в районе 32мА в активном и 17мА в режиме idle и для вн. 8Мгц там же 19 и 9мА соответственно, что сильно смущает моими 50мА явно в режиме idle и внутренним генератором по умолчанию ..
Коллега выделил ещё одну из запаса 5шт на попробовать .. Попробовал подпаяться к 21,22 выводам ещё одной Меги и замерять потребление .. то, что есть "в руках" - китайская Ц-шка только с 10А шкалой, не показала ничего вовсе .. то есть потребление меньше 10мА. В общем, похоже что-то не так запаял или где-то коротит ..
Хотел Вам предложить, развести макетку с пинами питания, кварца и программирования и на ней попробовать прошить, да и токи померить. А потом уже с большим творением разбираться. ИМХО.
UPD, хотя по канифоли не должно лезть ничего. На активном, да, нагорал. Он при разогреве эл.проводным становился.))))
В общем, с криками снял мегу с платы .. подпаялся к 21,22 пинам и .. потребление камня в воздухе всего 2.2мА (дома есть чем измерять) .. похоже что были таки коротыши на плате, возможно ПОД микросхемой. Пока снимал, оторвал ещё 4 дороги от платы .. в общем, отбой. Буду переразводить плату и делать новую. Эта разводка никуда не годится.
В общем, что-то я явно делаю не так. Не прошивается мега128а через Нанку ни в какую. Более того, попробовал прошить одну Нано через другую - ваще фигня полная. Поставил ИДЕ 1.8.2 - результат тот же.
Вот так подключаю плату к Нано:
10-й пин Нано (зеленый провод) идет на Reset меги(20пин), 11-й (синий) Нано - на Rx0 Меги(2пин), 12-й (красный) от Нано - на Tx0 (3) Меги, и 13-й от Нано (желтый) идет на SCK(11) 128-й меги. Белый - +5в, черный - земля.
В итоге, что на 1.6.4, 1.6.5 и 1.8.2 результат ровно тот же, что и приведен выше. Пайка платы прозвонена уже раз на 500 .. потребление микроконтроллера - 8-9мА - "в норме", пытаюсь прошить загрузчик с выбранным параметров "Clock: 8Mhz internal" поскольку кварц на плату ещё не установлен.
----------------------------
Аналогично, попробовал прошить загрузчик через Нано в другую Нано:
Вывод MOSI от "главной" отправил на MISO прошиваемой Нано, и наоборот MISO главной ушел на MOSI прошиваемой Нано. Остальное согласно описанию. В итоге на ИДЕ 1.8.2 получил такой результат:
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x15
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01
avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude: stk500_disable(): unknown response=0x12
Ошибка при записи загрузчика.
Очевидно, что что-то делаю не так, и дело не в камнях или плате..
Что я делаю не так?
Вывод MOSI от "главной" отправил на MISO прошиваемой Нано, и наоборот MISO главной ушел на MOSI прошиваемой Нано.
SPI это не UART, не надо его перекрещивать... MOSI - MOSI, MISO - MISO, SCK - SCK.
Хоть так, хоть эдак - результат тот же. ИДЕ 1.8.2., в меню стоит: "плата - Arduino Nano, процессор, atmega328, порт - /dev/ttyUSB0, программатор - Arduino as ISP" Нажимаю "Записать загрузчик" и получаю вот такую ошибку. Попробовал соединить MISO-MISO, MOSI-MOSI текст (найдите 2 отличия):
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x15
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01
avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude: stk500_disable(): unknown response=0x12
Ошибка при записи загрузчика.
.. щас вот подумалось .. может это потому что у меня Нано китайские на базе CH340G?
В ИДЕ 1.8.2 обнаружил опцию "получить информацию о плате", нажал:
BN: Неизвестная плата
VID: 1A86
PID: 7523
SN: Загрузить любой скетч, для использования
.. это как? Подключена китайская Ардуино Нано .. программируется вполне нормально.
Вывод MOSI от "главной" отправил на MISO прошиваемой Нано, и наоборот MISO главной ушел на MOSI прошиваемой Нано.
SPI это не UART, не надо его перекрещивать... MOSI - MOSI, MISO - MISO, SCK - SCK.
на 128 надо MOSI MISO на PDO PDI
На фото подключения 128-й меги: слева от питания - интерфейс SPI, в нем использована только 11 нога (желтый провод). Идет на 13-ю ногу Нано, которая за программатор. Справа от питания: Reset, Rx0(PDI), Tx0(PDO) .. они и подключены: Reset зеленым проводом на 10 ногу Нано, Rx0 синим проводом на 11 ногу и Tx0 красным на 120ю ногу.
Сейчас попробовал тупо вовсе отключить от Нано-программатора устройство, которое она программирует вовсе. Результат точно такой же как и при попытках прошить другую Нано (привел сегодня выше) .. то есть получается, что Нано вообще не видит вторую себя!
А вот при попытке прошить 128-ю мегу пишет то, писал раньше при первой попытке прошить, могу выложить ещё раз от ИДЕ 1.8.2:
avrdude: Version 6.3, compiled on Jan 17 2017 at 11:00:16
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "/home/arhat109/.arduino15/packages/MegaCore/hardware/avr/1.0.6/avrdude.conf"
User configuration file is "/home/arhat109/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/ttyUSB0
Using Programmer : stk500v1
Overriding Baud Rate : 19200
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x15
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x15
AVR Part : ATmega128
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PA0
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 4 12 64 0 no 4096 8 0 9000 9000 0xff 0xff
flash 33 6 128 0 yes 131072 256 512 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00
calibration 0 0 0 0 no 4 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel STK500 Version 1.x firmware
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x02
avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x10
Hardware Version: 4238238
Firmware Version: 0.0
Topcard : STK502
Vtarget : 1.8 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: stk500_initialize(): (b) protocol error, expect=0x10, resp=0x01
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x10
avrdude done. Thank you.
Ошибка при записи загрузчика.
или плохой контакт, или другой юсб кабель попробуй, потолще, или комп с виндой возьми
Взял кабель потолще - результат тот же. За это время обчитался уже интеренету у всех шьется нормально, у меня стабильно выдает ошибку даже при попытке прошить одну Нано через другую.
Попробовал изменить скорость BAUDRATE в скетче ArduinoISP .. на 9600 - выдает 0х60, 0х66, 0х6е по очереди в разных попытках; выше 19200 выдает только 0хfa и далее 0xff
Решил что возможны накладки из-за наличия нескольких версий ИДЕ одновременно. Снес (переименовал) все папки для ИДЕ, распаковал заново 1.8.2 .. результат тотже.
Для UNO было в нескольких местах что прошивальщик должен иметь доп. кондер на 10мкф на своем ресете на землю. Попробовал от 10мкф до 100нф: выдает ошибку идентификации платы.
Внезапно, забыв поменять программатор с "Arduino as ISP" залил блинк в первую Нану (прошивальщик) .. скетч залился совершенно нормально, несмотря на то что стоял "кривой" программатор .. как это?
В общем, такое ощущение что что-то не так в линуксовой версии ИДЕ. Пошел искать винду..
Конденсатор не нужен точно. А вот отсутствие кварца у 1280 наводит на подозрения (по аналогии с 328, большие камни не шил, но правила думаю те же).
Я пока что пытаюсь прошить одну полностью рабочую Нано через другую. До 128-й дело ещё не дошло даже.
Там для прямой заливки скетча через программатор нужно выбирать Скетч -> Загрузить через программатор, простым способом, да, зальете в первую дуню. Кстати скорости программатора правильные стоят в настройке прошивки и в драйвере? А то может в драйвере стоит другая скорость.
Кстати тоже чертыхался с 128 камнем, в итоге победил, но шьется все равно не каждый раз.
А что за драйвер требуется? Ни разу никаким не пользовался на своем Линуксе, все заливается на ура. Просто указываю порт /dev/ttyUSB0 .. 1,2,3 .. куда подключен кабель с Ардуинкой и все. В самом начале, при установке достаточно добавить себя в группу dialout, чтобы Линукс разрешил запись в usb порты и всё.
Может как тут проблема, что для прошивки, кроме дудки ещё и какой-то драйвер нужен?
В programmers.txt для Arduino as ISP указана скорость 19200, и есть доп.параметр -b, который при заливке программ из ИДЕ почему-то указывается на 57600, а при записи загрузчика -b 19200 как надо .. в скетче примера ArduinoISP.ino тоже стоит 19200 и на другой оно не фурычит, проверял ..
Щас вот обратил внимание на строку запуска дудки по кнопке "Записать загрузчик":
.../avrdude -C/home/.../arduino-1.8.2/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -P/dev/ttyUSB0 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xFF:m
.. а какой hex-файл заливаем-то?!? И почему через программатор stk500v1, а не через arduino as isp?
Вы все верно описали. Драйвер - то как общаться с устройством и в данном случае это несколько строчек в programmers.txt. Именно скорость указанная в скетче ArduinoISP и скорость обмена в programmers.txt для загрузчика должны совпадать.
Кстати в первый раз 128 удачно прошил без кварца и скорость вроде была понижена до 2400бод. После сменил фьюзы на нормальные. Где-то в даташите вроде указывется это, по умолчанию 128 затактована от внутреннего генератора на 1МГц если правильно помню.
Так я сейчас тренируюсь на прошивке Ардуино НАНО через такую же НАНО .. 128-ю отложил, пока не пойму в чем проблема.
Будет время - соберу на чистой макетке так чтобы провода все видно было, покажу как должно быть.
А что за драйвер требуется? Ни разу никаким не пользовался на своем Линуксе, все заливается на ура. .....
Arhat109-2 у вас затык счто ардуиной ардуину прошить не получается. с этим разберитесь сначала, а потом с мегой128 само собой получится. Ничего мудрить там не надо. Все уже обсасоно в соответствующих темах и в инете . (восстановление ардуины,...) .
Самое простое - заливать загрузчик через ардуину , пользуя ее как программатор ( со скетчем arduino isp ) , потому как она и фьюзы шьет как надо. Если есть USBASP в наличии , то им тоже можно.
Так вот это обсосанное на 100раз и НЕ получается ..
взял Ардуино Нано, залил в неё скетч из примера Arduino as ISP, соединил контакты проводками (у меня комплект по 20см .. может слишком длинные?) 10 -> reset, 11->11, 12->12, 13->13, 5v->5v, GND->GND, тут выше пост №69 - третье фото, но на нем поменяны местами 11 и 12 контакты, исправился (уже подсказали в №70). Даже поставил на 9,8 и 7 ногу 3-х цветный светодиод для диагностики.. сердечком мерцает как положено. Выбрал плату "Ардуино Нано", проц "328", и загрузчик "Arduino as ISP", нажимаю "Записать Загрузчик" и .. получаю ошибку поста №71 или №74 в зависимости от того, включен у меня детальный вывод или нет.
в №75 посоветовали поменять кабель или перейти на винду .. кабель поменял - результат тот же. Винду доустанавливаю, как только, так сразу скачаю ИДЕ и буду пробовать .. но, в чем дело - так и не понял до сих пор.
Пробовал подавать на прошиваемую Нану 5в от отдельного БП, думал что 4.75в от USB недостаточно, пофиг. Результат - тот же.
Что ещё и куда рыть - пока не понимаю от слова "совсем". У меня этих Нано - 10шт, все работают и скетчи заливаются "на ура", а вот загрузчик не шьется ни в одну. ИДЕ 1.8.2.
Поднял 4-й пенек, поставил хрюшу, поставил ИДЕ 1.8.2. и драйвер CH340G с сайта производителя. Нано прошилась с первого пинка. Проблема в Линукс. Все, пошел переливать на него ПО для заливки 128-й меги..
Проблема в Линукс.
вот сейчас было обидно.
Да, всё нормально. Прошил ATmega128A на своей плате со второй попытки. Прозвон показал что сигнал от входа reset до ноги камня идет с сопротивлением 32 ома .. непропай.
УР-ра! Всем спасибо за участие и помощь... п-а-л-у-ч-и-л-а-с-с-я .. :)
Да, всё нормально. Прошил ATmega128A на своей плате со второй попытки. Прозвон показал что сигнал от входа reset до ноги камня идет с сопротивлением 32 ома .. непропай.
УР-ра! Всем спасибо за участие и помощь... п-а-л-у-ч-и-л-а-с-с-я .. :)
купи USBasp
Перепрошил загрузчик на частоту 20Мгц .. прошилось с первого раза. Потребление платы выросло до 34мА, всё строго согласно даташита. Смущает что заливка прошла как-то слишком шустро .. согласно отчету avrdude за 0.05сек. на скорости 19200.
Здравствуйте. А кто-нибудь добивался работы Atmega128 и дисплея tft 2.4 на ili9341? Библиотека "SPFD5408-master" c гит хаба. https://github.com/JoaoLopesF/SPFD5408 ( Кстати, на 328 атмеге все чудесно работает с этой библиотекой, но свободных пинов почти не остается.). Ковырял ее долго. Но опыта маловато. Исправлял файлы библиотеки и "pin_magic.h" и "SPFD5408_Adafruit_TFTLCD.cpp". Не помогло. Может кто подскажет как Atmega128 с TFT 2.4 на ili9341 поженить. На данный момент при загрузке график теста из примеров экран мерцает и видно, что процесс идет. Но, похоже, не происходит инициализации дисплея и картинки нет, только мерцание. В Atmega128 загрузчик MegaCore с гит хаба (https://github.com/MCUdude/MegaCore). Исправленная мной библиотека здесь https://yadi.sk/d/HlwgoRtS3HYgNZ .
AndreyE , в чем именно у вас затык ? и какой именно дисплей? tft 2.4 на ili9341 м.б. аж 3-х разновидностей. продаются с шинами SPI и 8бит, еще м.б. 16бит, библиотеки у них разные. подходы разны, вереницу всю времени нет выкладывать. попробуйте с либой UTFT (там если по быстрому - к меге2560 приписать мегу128 , а упоминание портов H закоментить). c adafruit вроде еще проще было.
Подключал все разновидности шин диспов , на разных библиотеках. всё работает. править либы пришлось неприлично мало. где-то в форуме выкладывал, набегом пока не нашел где.
// на меге128 както немножко пошустрее вывод инфы на дисп получился, в отличии от atmega328 .
AndreyE ,
вариант1. если по быстрому как говорил , то в UTFT.cpp дописать в
AndreyE, значит гдето чтото еще упустили. На адафруите какой порт переназначали и где что меняли? киньте еще фоток. Т.к. портов полноценных (8ит свободны) много, то имеет смысл использовать весь порт целиком - это будет побыстрее вывод графики , чем в оригинальной либе адафруит.
кликабельно:
(переходника с DTR под руку не попался, взял дешманский и вывел. кондер для дифференцирующий лишний ибо на плате уже предусмотрел его) . Самое полезное в атмега128 для меня оказалось что она может работать на 3.3в на тех же 16МГц - очень удобно подключать напрямую шилды TFT LCD требующие согласование уровней 3.3-5в. Для этого поставил стаб ams1117-3.3 и предусмотрел переключение питания. надо еще на на разъем для "программатора" поставить на rx tx резисторы ом эдак на 220, чтоб 5в уровни от ch340 гасились, если atmega128 запитана от 3.3в.
если что , фотки в получше качеством https://yadi.sk/d/w6sKbpsF3JLuUV
фотка с диспом на utft comment-270054
// (будет время, проверю ваш код для подобного шилда 8бит)
Добивайте все-же адафрут либу и подключение. а по UTFT в инете она везде расписана. к примеру первое попавшееся из яндекса https://geektimes.ru/post/258166/
и даж далеко ходить не надо, в папке documents в этой либе лежат описания ее.
и в ее примерах описано UTFT myGLCD(ITDB50,38,39,40,41); - пины шины управления вы задаете сами куда пожелаете подключить.
на оставшийся RD подаете лог.1 , или с таким шилдом +5v (Vсс ) или +3.3в
// код при размещении можно свернуть , на второй вкладке есть для этого галка. Сообщения свои можно подредактировать.
//// увы из вашего фото не видно правильно ли вы подключили. хрустальным шаром не владею. При подключении можно легко спутать пины самой микросхемы и пины ардуиновские . перепроверьте.
Всем спасибо за поддержку. Решил проблему подключения радикальным способом.:)))
Мда.. правда бывало и похуже :))
Пасибки. Пришли 4шт, тоже хотел один раскурочить - посмотреть "что там внутрях" .. избавили от потери целого дисплея :)
U1 скорее всего стабилизатор напруги и его можно выпаять для каких-нить иных задачек..
Псих?
Лишнее подтверждение, что зто занятие не для слабонервных. :)
Arhat109-2,
Да, за дисплеем небыло никакого чипа. Пытаться посмотреть модель чипа за дисплеем для подбора соответствующей библиотеки, похоже, далеко не всегда помогает. Из этого аццкава дисплея с дурной кармой выпаивать ничего не буду...:))))) Заказал 2,8 со SPI.
Всем привет. Хочу поделится тем что у меня получилось с 128й атмегой.
Вот такую платку нарисовал на данный момент.
Разводилась плата с учетом стандартных lcd шилдов для ардуино. Задача была - запустить графику.
Запустил 2.4tft_8bit (uno) ili9325, 3.5tft_8bit (uno) ili9327, 3.9tft_8bit (uno) ili9488, 3.0tft_16bit (mega) hx8357, 3.2tft_16bit (mega) ili9481, 4.3tft_16bit(через переходник меговский) ssd1963.
Использовал библиотеки Adafruit, UTFT и MCUFRIEND_kbv. Остановился на последней. Она пошустрее будет)))
Библитотека само собой ковырялась. Все делалось по аналогии с 2560 атмегой.
По поводу прошивки загрузчика. Шил обычным китайским usb asp програматаром, причем первая прошивка без кварца. Все прошивки загрузчиков производил из среды ардуино.
и последняя фотка - сравнение двух плат 128й атмеги(зеленая - первая проба нанесения маски) с китайской mega2560.
Силно не пинайте))). Спасибо за внимание))
no bad ))))
круто, раз так основательно делали и много стабов и рассыпухи, то можно было и CH340 запихнуть.
скорость от много зависит, хотя наверно сами уже разобрались. подикась для адафруитской распиновки 89 234567 подвели цельный порт , чтоб шилд подключался к 01234567 .
Увеличение скорости вывода графики для TFT LCD шилдов дисплеев ардуино :
1. на 320x240 само собой будет в 2 раза быстрее разрисовать весь экран чем 480x320.
2. 16бит немного побыстрее будет чем 8бит, особенно для определенных типов контроллеров.
3. выводить на цельный порт (особо как в UTFT шилдах), а не как в УНОвских шилдах для УНО(2 разных порта) иль того хуже Меги(3 разных порта). Хотя при разводке на меге128 можно было резвести цельный порт, и в либе изменить конфиг и вывод на него.
4. убрать в либе все лишние условия и разветвления (к примеру как пиленная UTFT 8bit turbo )
5. вырезать все лишние иниты. В UTFT это в раскоментирование в memorysaver.h . В адафруите в Adafruit_TFTLCD.cpp вырезать все лишние иниты и условия .
6. использовать диспы у контроллеров которых минимальное количество команд для рисования пикселя. (подсмотреть можно в файлах setxy.h либы UTFT )
7. вырезать из либы лишний CS (ибо при каждой команде он используется дважды ) и замкнуть его на gnd , как в comment-192385.
8. для определенных контроллеров (setxy) , при не больших разрешених диспа =< 400x320 , можно вообще избавиться от половины команд !!!!!!!! при рисовании каждого* пикселя (пример #comment-93736 )
9. повысить частоту проца
все это более в 2 раза увеличит скорость !