Crumbuino-128 своими руками

slider
Offline
Зарегистрирован: 17.06.2014

вот такие прикольные MegaCore arduino на ATmega128 получились  и изделие с SPI TFT ili9341 на ней:

  

 ну раз такая поддержка пошла, то можно теперь и 20МГц брать :)

кварцы 2*6мм брал здесь http://ru.aliexpress.com/item/Free-shipping-10pcs-Cylindrical-column-crystal-oscillator-2-6-206-DIP-2-16MHZ-16M-16-000MHZ/32600638606.html и http://ru.aliexpress.com/item/Free-shiiping-20pcs-2-6-16MHz-Error-20ppm-20pF-Cylinder-quartz-resonator/32323805290.html   - у этого продавца в описании товара есть целая таблица всех типоразмеров и номиналов кварцев со ссылками на продажу в наличии . 

размер	частота	купить ссылки	примечания	категория	количество
3213	16 МГЦ	нажмите здесь	 	кристалл	10 шт./лот
3213	8 МГц	нажмите здесь	10pF	кристалл	10 шт./лот
3215	32.768 КГц	нажмите здесь	20ppm 12.5pF	кристалл	10 шт./лот
3225	12 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
3225	13.56 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
3225	13 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
3225	14.31818 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
3225	16.384 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
3225	16 МГц	нажмите здесь	10ppm	кристалл	10 шт./лот
3225	20 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
3225	24 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
3225	25 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
3225	26 МГц	нажмите здесь	20ppm	кристалл	10 шт./лот
3225	27.12 МГц	нажмите здесь	20ppm 10pF	кристалл	10 шт./лот
3225	27 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
3225	30 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
3225	32 МГц	нажмите здесь	20ppm 12pF	кристалл	10 шт./лот
3225	40 МГц	нажмите здесь	20ppm 15pF	кристалл	10 шт./лот
5032	14.318 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
5032	24 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
5032	25 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
5032	30 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
5032	32 мГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
6035	16 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
7050	24 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
8045	8 МГц	нажмите здесь	20ppm 20pF	кристалл	10 шт./лот
2*6	11.0592 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
2*6	12 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
2*6	14.31818 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
2*6	16 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
2*6	17.734475 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
2*6	22.1184 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
2*6	24 МГц	нажмите здесь	20ppm 15pF	кристалл	20 шт./лот
2*6	25 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
2*6	26 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
2*6	27 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
2*6	32.768 КГц	нажмите здесь	20ppm 12.5pF	кристалл	20 шт./лот
2*6	6 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
2*6	8 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
3*8	10.245 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
3*8	10 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
3*8	12.288 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
3*8	12 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
3*8	13.56 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
3*8	24 МГц	нажмите здесь	20ppm 15pF	кристалл	20 шт./лот
3*8	30 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
3*8	32.768 КГц	нажмите здесь	20ppm 12.5pF	кристалл	20 шт./лот
3*8	36 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
3*8	4 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
3*8	5 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	1.8432 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	10 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	11.0592 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	12 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	19.6608 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	2.048 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	2.4576 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	2 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	3.579545 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	3 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	4.194304 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	4.5 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	49.86 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	4 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
49U	8 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	11.0592 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	12.288 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	12.2 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	12 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	13 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	15 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	16.384 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	16 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	17.734475 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	18.432 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	19.0699 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	20 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	22.1184 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	24 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	25 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	26 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	27.12 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	27.145 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	27 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	28.224 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	28.375 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	29.4912 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	3.579 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	3.6864 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	30 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	32 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	33 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	36 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	4.096 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	4.332 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	4.433 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	4.897 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	4.9152 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	40 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	48 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	4 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	5 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	6 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	7.2 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	7.3728 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	8.192 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	8 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
hc-49s	9.6 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
MC-146	32.768 КГц	нажмите здесь	 	кристалл	10 шт./лот
MC306	32.768 КГц	нажмите здесь	20ppm 12.5pF	кристалл	10 шт./лот
smd hc-49s	10.245 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	10 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	11.0592 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	12.288 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	12 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	13.56 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	14.318 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	14.7456 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	16 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	18.432 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	20 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	22.1184 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	24.576 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	24 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	25 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	26 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	27.12 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	27 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	3.579 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	3.6864 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	30 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	32 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	4.433 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	4.9152 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	48 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	4 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	5 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	6 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	7.3728 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
smd hc-49s	8 МГц	нажмите здесь	20ppm 20pF	кристалл	20 шт./лот
3225	12.288 МГц	нажмите здесь	3.3 В	генераторы	10 шт./лот
3225	24.576 МГц	нажмите здесь	3.3 В	генераторы	10 шт./лот
3225	25 МГц	нажмите здесь	20ppm 3.3 В	генераторы	10 шт./лот
5032	16 МГц	нажмите здесь	3.3 В	генераторы	10 шт./лот
5032	16 МГц	нажмите здесь	5 В	генераторы	10 шт./лот
5032	20 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
5032	24 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
5032	33 МГц	нажмите здесь	33 МГц 3.3 В	генераторы	10 шт./лот
5032	8 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	1.8432 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	10 МГц	нажмите здесь	20ppm 3.3 В	генераторы	10 шт./лот
7050	11.0592 МГц	нажмите здесь	20ppm 3.3 В	генераторы	10 шт./лот
7050	12 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	14.7456 МГц	нажмите здесь	20ppm 5 В	генераторы	10 шт./лот
7050	16 МГц	нажмите здесь	20ppm 3.3 В	генераторы	10 шт./лот
7050	16 МГц	нажмите здесь	20ppm 5 В	генераторы	10 шт./лот
7050	19.44 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	20 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	22.1184 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	24.576 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	24 МГц	нажмите здесь	1.8 В	генераторы	10 шт./лот
7050	24 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	2 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	3.6864 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	30 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	32.768 КГЦ	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	32.768 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	40 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	7.3728 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
7050	8 МГц	нажмите здесь	25ppm 3.3 В	генераторы	10 шт./лот
 
 

платки разные по размеру брал здесь http://ru.aliexpress.com/item/Hot-sale-Free-shipping-FQFP-TQFP-32-44-64-80-100-LQFP-SMD-DIP-0-5/32407701680.html и http://ru.aliexpress.com/item/5pcs-lot-FQFP-TQFP-32-44-64-80-100-LQF-SMD-turn-dip-0-5-0/32613582446.html

Атмеги у разных продавцов.

по началу лучше конечно брать у разных продавцов, а то можно прождать впустую 3 месяца, так ничего и неприйдёт. 

Smit7ua
Offline
Зарегистрирован: 08.03.2017

Подскажите пож можно такое ардуино из атмеги 64 сделать?

 

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Обучаю пользованию гуглом:

1) Открываете гугл

2) Пишете туда atmega64 arduino

3) Смотрите первые ссылки:

https://forum.arduino.cc/index.php?topic=386733.0

https://github.com/MCUdude/MegaCore

4) PROFIT!

Smit7ua
Offline
Зарегистрирован: 08.03.2017

Спс большое))) я писал в гугле ардуино из атмега 64 и ничего толком не нашел)
Еще раз спс, только вникаю в мк, много ещё не понимаю(

Клапауций 112
Offline
Зарегистрирован: 01.03.2017

Smit7ua пишет:

я писал в гугле ардуино из атмега 64 и ничего толком не нашел)

не ври https://www.google.com/search?q=arduino+ATmega64

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Smit7ua пишет:

я писал в гугле ардуино из атмега 64 и ничего толком не нашел)

Не нужно писать осмысленные фразы как для человека, нужно писать ключевые слова. И желательно на языке оригинала - на английском.

Smit7ua
Offline
Зарегистрирован: 08.03.2017

все получилось за 5 мин) 
а что за параметры: BOD 2.7v? BOD 4v? и Compiler LTO?
это появилось в меню инструменты под выбором платы.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Smit7ua пишет:

а что за параметры: BOD 2.7v? BOD 4v? и Compiler LTO?

Снова открываешь вторую ссылку из сообщения #53 и внимательно смотришь список "Table of contents". Там есть и про BOD, и про LTO.

UPD: Более подробно про BOD тут - http://fusecalc.mirmk.net/help/help04.htm

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Попробовал залить загрузчик как тут описано в посте №50 через Ардуино Нано - фиг-то там. avrdude выдает такое:

Arduino: 1.6.5 (Linux), Плата"ATmega128, Disabled, Disabled (default), 8 MHz internal"

avrdude: Version 6.0.1, compiled on Apr 14 2015 at 19:04:16
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 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: 4238024
         Firmware Version: 533354624.32523
         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.

Проблема загрузки на плату. Для достижения дзен, курить http://www.arduino.cc/en/Guide/Troubleshooting#upload .

Что с этим делать? И можно ли как-то понять что плата и камень запаяны верно?

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

а mosi , miso правильно подключили к PDO, PDI? вывод PEN и RST через 10К резистор  на VCC подтянуты?

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Да, все сделал как описано в посту №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мА.. как-бы в норме, не знаю. Камень после десятка попыток прошить его стал слегнка теплый, но и только... типа рабочий .. х.з. как проверить.

slider
Offline
Зарегистрирован: 17.06.2014

Arhat109-2 пишет:

.....

P.S. Перепрозванил ещё раз все соединения, нашел 2 ошибки монтажа, но они не имеют отношения к этим сигналам. Потребление питания от Нано показывает 67мА.. как-бы в норме, не знаю. Камень после десятка попыток прошить его стал слегнка теплый, но и только... типа рабочий .. х.з. как проверить.

программатор USBASP есть? проверить ччтение запись.
можно прогой ponyprog и подключить к LPT порт (надо несколько резисторов) , или СОМ порт (надо немного рассыпухи) , просто прочесть конфигурацию, прочесть - записать . Вот и проверка.

атмега128 откуда? новая? или где юзанная (если там напортачено с фьюзами , то спасет только реаниматор (восстановление фьюзов параллельным программированием) 

Arhat109-2 пишет:

......

есть кнопка на землю и параллельно её стоял конденсатор 100нФ. Отпаял кондер - результат тот же.

....

это как? соберите обвязку по схеме ! кондер нельзя цеплять параллельно , ардуина что должна упираться разряжать/заряжать его когда ей надо посать импульс reset?     ( он цепляется последовательно с DTR  для заливки скетчей.) 

Arhat109-2 пишет:

... P.S. Перепрозванил ещё раз все соединения, нашел 2 ошибки монтажа, но они не имеют отношения к этим сигналам. Потребление питания от Нано показывает 67мА.. .... Камень после десятка попыток прошить его стал слегнка теплый, .....

возможно всеже имеют отношение

 

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Программатора нет, и вообще ни разу не прошивал камни. Поэтому и использовал в качестве программатора Нанку.

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в при отсутствующем питании на входе? Я - ХЗ..

bwn
Offline
Зарегистрирован: 25.08.2014

Arhat109-2, флюс нормально отмыли? 67мА мне кажется большой величиной. Для Ардуины на 1280 декларируют максимальный ток в 50мА, и это со всем дополнительным обвесом. У Вас же кроме камня и нет ничего.

bwn
Offline
Зарегистрирован: 25.08.2014

Дубль

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Флюс ещё не отмывал вовсе. Плата залита канифолью "по уши". Снял все лишнее с платы: стабилизатор, кнопку, кондеры стаба .. ток потребления упал до около 50мА. Согласно рисунков 162,169 даташита, типичное потребление на 5в и 16Мгц надо ожидать в районе 32мА в активном и 17мА в режиме idle и для вн. 8Мгц там же 19 и 9мА соответственно, что сильно смущает моими 50мА явно в режиме idle и внутренним генератором по умолчанию ..

Коллега выделил ещё одну из запаса 5шт на попробовать .. Попробовал подпаяться к 21,22 выводам ещё одной Меги и замерять потребление .. то, что есть "в руках" - китайская Ц-шка только с 10А шкалой, не показала ничего вовсе .. то есть потребление меньше 10мА. В общем, похоже что-то не так запаял или где-то коротит ..

bwn
Offline
Зарегистрирован: 25.08.2014

Хотел Вам предложить, развести макетку с пинами питания, кварца и программирования и на ней попробовать прошить, да и токи померить. А потом уже с большим творением разбираться. ИМХО.

UPD, хотя по канифоли не должно лезть ничего. На активном, да, нагорал. Он при разогреве эл.проводным становился.))))

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

В общем, с криками снял мегу с платы .. подпаялся к 21,22 пинам и .. потребление камня в воздухе всего 2.2мА (дома есть чем измерять) .. похоже что были таки коротыши на плате, возможно ПОД микросхемой. Пока снимал, оторвал ещё 4 дороги от платы .. в общем, отбой. Буду переразводить плату и делать новую. Эта разводка никуда не годится.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

В общем, что-то я явно делаю не так. Не прошивается мега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
Ошибка при записи загрузчика.

Очевидно, что что-то делаю не так, и дело не в камнях или плате..

Что я делаю не так?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Arhat109-2 пишет:

Вывод MOSI от "главной" отправил на MISO прошиваемой Нано, и наоборот MISO главной ушел на MOSI прошиваемой Нано. 

SPI это не UART, не надо его перекрещивать... MOSI - MOSI, MISO - MISO, SCK - SCK.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Хоть так, хоть эдак - результат тот же. ИДЕ 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?

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

В ИДЕ 1.8.2 обнаружил опцию "получить информацию о плате", нажал:

BN: Неизвестная плата
VID: 1A86
PID: 7523
SN: Загрузить любой скетч, для использования

.. это как? Подключена китайская Ардуино Нано .. программируется вполне нормально.

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

Jeka_M пишет:

Arhat109-2 пишет:

Вывод MOSI от "главной" отправил на MISO прошиваемой Нано, и наоборот MISO главной ушел на MOSI прошиваемой Нано. 

SPI это не UART, не надо его перекрещивать... MOSI - MOSI, MISO - MISO, SCK - SCK.

на 128 надо MOSI MISO на PDO PDI

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

На фото подключения 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.

Ошибка при записи загрузчика.
 

Valera19701
Valera19701 аватар
Offline
Зарегистрирован: 18.10.2015

или плохой контакт, или другой юсб кабель попробуй, потолще, или комп с виндой возьми

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Взял кабель потолще - результат тот же. За это время обчитался уже интеренету у всех шьется нормально, у меня стабильно выдает ошибку даже при попытке прошить одну Нано через другую.

Попробовал изменить скорость BAUDRATE в скетче ArduinoISP .. на 9600 - выдает 0х60, 0х66, 0х6е по очереди в разных попытках; выше 19200 выдает только 0хfa и далее 0xff

Решил что возможны накладки из-за наличия нескольких версий ИДЕ одновременно. Снес (переименовал) все папки для ИДЕ, распаковал заново 1.8.2 .. результат тотже.

Для UNO было в нескольких местах что прошивальщик должен иметь доп. кондер на 10мкф на своем ресете на землю. Попробовал от 10мкф до 100нф: выдает ошибку идентификации платы.

Внезапно, забыв поменять программатор с "Arduino as ISP" залил блинк в первую Нану (прошивальщик) .. скетч залился совершенно нормально, несмотря на то что стоял "кривой" программатор .. как это?

В общем, такое ощущение что что-то не так в линуксовой версии ИДЕ. Пошел искать винду..

bwn
Offline
Зарегистрирован: 25.08.2014

Конденсатор не нужен точно. А вот отсутствие кварца у 1280 наводит на подозрения (по аналогии с 328, большие камни не шил, но правила думаю те же).

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Я пока что пытаюсь прошить одну полностью рабочую Нано через другую. До 128-й дело ещё не дошло даже.

nevkon
Онлайн
Зарегистрирован: 20.01.2015

Там для прямой заливки скетча через программатор нужно выбирать Скетч -> Загрузить через программатор, простым способом, да, зальете в первую дуню. Кстати скорости программатора правильные стоят в настройке прошивки и в драйвере? А то может в драйвере стоит другая скорость.

Кстати тоже чертыхался с 128 камнем, в итоге победил, но шьется все равно не каждый раз.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

А что за драйвер требуется? Ни разу никаким не пользовался на своем Линуксе, все заливается на ура. Просто указываю порт /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?
 

nevkon
Онлайн
Зарегистрирован: 20.01.2015

Вы все верно описали. Драйвер - то как общаться с устройством и в данном случае это несколько строчек в programmers.txt. Именно скорость указанная в скетче ArduinoISP и скорость обмена в programmers.txt для загрузчика должны совпадать.

Кстати в первый раз 128 удачно прошил без кварца и скорость вроде была понижена до 2400бод. После сменил фьюзы на нормальные. Где-то в даташите вроде указывется это, по умолчанию 128 затактована от внутреннего генератора на 1МГц если правильно помню.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Так я сейчас тренируюсь на прошивке Ардуино НАНО через такую же НАНО .. 128-ю отложил, пока не пойму в чем проблема.

nevkon
Онлайн
Зарегистрирован: 20.01.2015

Будет время - соберу на чистой макетке так чтобы провода все видно было, покажу как должно быть.

slider
Offline
Зарегистрирован: 17.06.2014

Arhat109-2 пишет:

А что за драйвер требуется? Ни разу никаким не пользовался на своем Линуксе, все заливается на ура. .....

Arhat109-2   у вас затык счто ардуиной ардуину прошить не получается. с этим разберитесь сначала, а потом с  мегой128 само собой получится. Ничего мудрить там не надо. Все уже обсасоно в соответствующих темах и в инете . (восстановление ардуины,...) .

 Самое простое - заливать загрузчик через ардуину , пользуя ее как программатор ( со скетчем  arduino isp ) , потому как она и фьюзы шьет как надо.           Если есть USBASP в наличии , то им тоже можно.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Так вот это обсосанное на 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.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Поднял 4-й пенек, поставил хрюшу, поставил ИДЕ 1.8.2. и драйвер CH340G с сайта производителя. Нано прошилась с первого пинка. Проблема в Линукс. Все, пошел переливать на него ПО для заливки 128-й меги..

Клапауций 112
Offline
Зарегистрирован: 01.03.2017

Arhat109-2 пишет:

Проблема в Линукс.

вот сейчас было обидно.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Да, всё нормально. Прошил ATmega128A на своей плате со второй попытки. Прозвон показал что сигнал от входа reset до ноги камня идет с сопротивлением 32 ома .. непропай.

УР-ра! Всем спасибо за участие и помощь... п-а-л-у-ч-и-л-а-с-с-я .. :)

Клапауций 112
Offline
Зарегистрирован: 01.03.2017

Arhat109-2 пишет:

Да, всё нормально. Прошил ATmega128A на своей плате со второй попытки. Прозвон показал что сигнал от входа reset до ноги камня идет с сопротивлением 32 ома .. непропай.

УР-ра! Всем спасибо за участие и помощь... п-а-л-у-ч-и-л-а-с-с-я .. :)

купи USBasp

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Перепрошил загрузчик на частоту 20Мгц .. прошилось с первого раза. Потребление платы выросло до 34мА, всё строго согласно даташита. Смущает что заливка прошла как-то слишком шустро .. согласно отчету avrdude за 0.05сек. на скорости 19200.

AndreyE
Offline
Зарегистрирован: 02.05.2017

Здравствуйте. А кто-нибудь добивался работы 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 .

slider
Offline
Зарегистрирован: 17.06.2014

  AndreyE , в чем именно у вас затык ?  и какой именно дисплей?  tft 2.4 на ili9341 м.б. аж 3-х разновидностей. продаются с шинами SPI и 8бит, еще м.б.  16бит, библиотеки у них разные. подходы разны, вереницу всю  времени нет выкладывать.      попробуйте с либой UTFT (там если по быстрому - к меге2560 приписать мегу128 , а упоминание портов H закоментить). c adafruit вроде еще проще было. 

Подключал все разновидности шин диспов , на разных библиотеках. всё работает. править либы пришлось неприлично мало.  где-то в форуме выкладывал, набегом пока не нашел где.

// на меге128 както немножко пошустрее вывод инфы на дисп получился, в отличии от atmega328 . 

slider
Offline
Зарегистрирован: 17.06.2014

AndreyE ,

вариант1. если по быстрому как говорил , то в  UTFT.cpp  дописать в

#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
#include "hardware/avr/HW_ATmega1280.h" 
про атмегу128 , чтоб либа лезла в файл  hardware/avr/HW_ATmega1280.h
#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__AVR_ATmega128__)
#include "hardware/avr/HW_ATmega1280.h" 
 
потом в hardware/avr/HW_ATmega1280.h и убрать про порт PORTH и его настройку DDRH
 
вариант2. сделать по нормальному , если эту либу будете пользовать и на atmega2560, тогда
дописываем в это условие ссылку на новый файл
#elif defined(__AVR_ATmega128__)
#include "hardware/avr/HW_ATmega128.h"
создаете его по этому адресу , скопировав содержимое с atmega1280.h и удалив ненужное.
HW_ATmega128.h :
// *** Hardwarespecific functions ***
void UTFT::_hw_special_init()
{
}

void UTFT::LCD_Writ_Bus(char VH,char VL, byte mode)
{   
	switch (mode)
	{
	case 1:
		if (display_serial_mode==SERIAL_4PIN)
		{
		if (VH==1)
			sbi(P_SDA, B_SDA);
		else
			cbi(P_SDA, B_SDA);
		pulse_low(P_SCL, B_SCL);
		}
		else
		{
		if (VH==1)
			sbi(P_RS, B_RS);
		else
			cbi(P_RS, B_RS);
		}

		if (VL & 0x80)
			sbi(P_SDA, B_SDA);
		else
			cbi(P_SDA, B_SDA);
		pulse_low(P_SCL, B_SCL);
		if (VL & 0x40)
			sbi(P_SDA, B_SDA);
		else
			cbi(P_SDA, B_SDA);
		pulse_low(P_SCL, B_SCL);
		if (VL & 0x20)
			sbi(P_SDA, B_SDA);
		else
			cbi(P_SDA, B_SDA);
		pulse_low(P_SCL, B_SCL);
		if (VL & 0x10)
			sbi(P_SDA, B_SDA);
		else
			cbi(P_SDA, B_SDA);
		pulse_low(P_SCL, B_SCL);
		if (VL & 0x08)
			sbi(P_SDA, B_SDA);
		else
			cbi(P_SDA, B_SDA);
		pulse_low(P_SCL, B_SCL);
		if (VL & 0x04)
			sbi(P_SDA, B_SDA);
		else
			cbi(P_SDA, B_SDA);
		pulse_low(P_SCL, B_SCL);
		if (VL & 0x02)
			sbi(P_SDA, B_SDA);
		else
			cbi(P_SDA, B_SDA);
		pulse_low(P_SCL, B_SCL);
		if (VL & 0x01)
			sbi(P_SDA, B_SDA);
		else
			cbi(P_SDA, B_SDA);
		pulse_low(P_SCL, B_SCL);
		break;
	case 8:

		PORTA = VH;
		pulse_low(P_WR, B_WR);
		PORTA = VL;
		pulse_low(P_WR, B_WR);

		break;
	case 16:
		PORTA = VH;
		PORTC = VL;
		pulse_low(P_WR, B_WR);
		break;
	case LATCHED_16:

		break;
	}
}

void UTFT::_set_direction_registers(byte mode)
{

	if (mode!=LATCHED_16)
	{
		DDRA = 0xFF;
		if (mode==16)
			DDRC = 0xFF;
	}
	else
	{
		//DDRH = 0x18;
		DDRG = 0x20;
		DDRE = 0x3B;
	}

}

void UTFT::_fast_fill_16(int ch, int cl, long pix)
{

	long blocks;

	PORTA = ch;
	PORTC = cl;

	blocks = pix/16;
	for (int i=0; i<blocks; i++)
	{
		pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);
	}
	if ((pix % 16) != 0)
		for (int i=0; i<(pix % 16)+1; i++)
		{
			pulse_low(P_WR, B_WR);
		}

}

void UTFT::_fast_fill_8(int ch, long pix)
{
	long blocks;


	PORTA = ch;


	blocks = pix/16;
	for (int i=0; i<blocks; i++)
	{
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
	}
	if ((pix % 16) != 0)
		for (int i=0; i<(pix % 16)+1; i++)
		{
			pulse_low(P_WR, B_WR);pulse_low(P_WR, B_WR);
		}
}

 

Дисп 8бит - цеплять на портА , 16бит на порты АиС
// порты если желаете использовать можно какие желаете, менять в этом же файле , меняя PORT..  , и помня заменить DDR.. тоже (задается его конфигурация на выход)
вообще можно многие условия ненужные повырезать затачивая под свой камень, пошустрее будет шевелиться либа.
 
slider
Offline
Зарегистрирован: 17.06.2014

 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

slider
Offline
Зарегистрирован: 17.06.2014

// (будет время, проверю ваш код для подобного шилда 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в 

// код при размещении можно свернуть , на второй вкладке есть для этого галка. Сообщения свои можно подредактировать.

//// увы из вашего фото не видно правильно ли вы подключили. хрустальным шаром не владею. При подключении можно легко спутать пины самой микросхемы и пины ардуиновские . перепроверьте. 

 

 

AndreyE
Offline
Зарегистрирован: 02.05.2017

Зря только здесь время потерял.

AndreyE
Offline
Зарегистрирован: 02.05.2017

Всем спасибо за поддержку. Решил проблему подключения радикальным способом.:)))

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

Псих?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Мда.. правда  бывало и похуже :))

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Пасибки. Пришли 4шт, тоже хотел один раскурочить - посмотреть "что там внутрях" .. избавили от потери целого дисплея :)

U1 скорее всего стабилизатор напруги и его можно выпаять для каких-нить иных задачек..