Stránka 1 z 2

Jak připojit ATtiny202 na MPLAB Snap

Napsal: 11 zář 2019, 09:10
od Caster
Včera mi přišel programátor MTLAB Snap, nevím ale, jak ho připojit k ATtiny202 (programování pomocí UPDI) - jaké piny použít. Nemáte s ním někdo zkušenosti? V MTLAB X IDE už mám programátor MTLAB Snap nastaven a registrován.

Viz také poznámka "MPLAB® SNAP AVR UPDI/PDI/TPI Interface Modification":
http://ww1.microchip.com/downloads/en/D ... cation.pdf

Re: Jak připojit ATtiny202 na MPLAB Snap

Napsal: 11 zář 2019, 12:14
od Wojta
Jediné potřebné piny procesoru jsou VCC, GND a RST procesoru. Na RST připojíš UPDI (zde označené jako PGD) programátoru. VCC jde na VDD (snad je tak značené) a GND na GND.

Re: Jak připojit ATtiny202 na MPLAB Snap

Napsal: 12 zář 2019, 01:38
od Caster
Díky, vyzkouším to.

Re: Jak připojit ATtiny202 na MPLAB Snap

Napsal: 12 zář 2019, 08:33
od Wojta
Kdyby nefungovalo tak pak jdi podle toho PDF co jsi přiložil :D

Re: Jak připojit ATtiny202 na MPLAB Snap

Napsal: 13 zář 2019, 12:34
od Caster
Mám problém s tím MPLAB Snap. Přestože ho MPLAB X IDE pozná, dostávám chybu 10121 aniž bych ho ještě připojil k ATtiny202. V čem může být problém ?

Obrázek

Re: Jak připojit ATtiny202 na MPLAB Snap

Napsal: 14 zář 2019, 09:19
od Caster
Konečně jsem to rozchodil, ale bylo to harakiri. Odpájel jsem odpor R48 na Snapu, mezi PGD a GDN přidal odpor 1k a nakonec na radu experta firmy microchip z Phoenixu musel přeflashnout Snap novým firmwarem :shock:. Také jsem snížil rychlost UPDI komunikace z defaultních 0.5 MHz na 0.3 MHz.

Musím se s tím naučit pracovat, aby se mi podařilo rozchodit první program, blikání LED na pinu 4 ATtiny202.

Re: Jak připojit ATtiny202 na MPLAB Snap

Napsal: 14 zář 2019, 15:04
od Wojta
To je něco :D hlavně žes to zvládnul. Já měl třeba u UPDI obří problém s kontakty při vyšších frekvencích. Ty propojovací drátky a propojovací pole jsou hrozná věc, musel jsem vždy frekvenci stáhnout dost nízko.

Re: Jak připojit ATtiny202 na MPLAB Snap

Napsal: 14 zář 2019, 23:16
od Caster
Mám ale nový problém, nedaří se mi rozběhnout klasický základ, blikání LEDky. Na stránce start.atmel.com jsem pro ATtiny202 nakonfugoroval jen pin 4 - LED0, jako digitální výstup s počáteční úrovní Hi. Po spuštění programu ale LEDka nebliká, debug odhalil, že program asi běhá jen na řádku init (i tak se dioda před odpor 130 Ohmů nerozsvítí) a nepokračuje na řádek s přepnutím LEDky. Dlouhy mi taky trvalo, než jsem zjistil že pro AVR chipy (ATtiny202) nelze v XC8 použít funkci __delay_ms(). Co s tím ?

Obrázek

Re: Jak připojit ATtiny202 na MPLAB Snap

Napsal: 14 zář 2019, 23:18
od Caster
Malá oprava. Odpor 1k je na MPLAB Snapu přidán mezi PGD a VDD (ne GND).

Re: Jak připojit ATtiny202 na MPLAB Snap

Napsal: 15 zář 2019, 10:58
od Wojta
Myslím že program dojde i na toggle, akorát to zapisuješ špatně ;)
Kód s přepnutím pinu a delay musí být ve smyčce while, tak, aby se opakoval pořád dokola.
Momentálně se ti program inicializuje s 1 na ledce ale hned skočí na PORTA_toggle... tzn. led se hned přepne na 0, nemáš šanci vidět že něco probliklo. Pak se počká těch 500ms a program skočí do smyčky while kde nic nedělá. Mělo by to vypadat takhle aby to bylo funkční:

Kód: Vybrat vše

int main(void){
	atmel_start_init();
	
	while(1){
		PORTA_toggle_pin_level(2);
		__builtin_avr_delay_cycles(1666666);
	}
}
Delay je myslím teď v nějaké jiné knihovně ale přesně netuším. Být tebou bych si s tímhle teď na ledku vystačil a pak používal timery, s tou abstrakční vrstvou (atmel start) to bude určitě zjednodušené a je to nejlepší, naučit se s nimi hned na začátku.