Moznosti ako na to je vela, ale jednou z najhorsich je zostrojit si vlastny programamtor. Popisem teraz ten najjjednoduchsi, ale najhorsi sposob ako to urobit. Kazdopadne, aj ked s nim z hlbky duse nesuhlasim, funguje a da sa ako-tak pouzivat. Na jednorazove akcie to moze byt, na serioznejsiu pracu by som skutocne odporucal poobhliadnut sa po niecom lepsom.
Programator funguje na realnych seriovych portoch. USB-RS232 prevodniky su mimo hru. S nimi to bud nefunguje alebo je to brutalne pomale.
Ja som to skusal na noname desktope a na HP Elitebook 8560W s dokovacou stanicou, ktora ma seriovy port.
Ako na to
Najprv si treba dat dokopy nejaky hardware. Schema je pomerne trivialna a da sa najst tu https://www.sparkfun.com/products/14 Kedysi to predavali Bulhari z Olimexu, ale aj ti zistili, ze to nie je bohvieco.
Obsahuje to len pomerne vagne realizovane obmedzovace napatovych urovni a nijake prisposobenie CMOS logiky na RS232 urovne. Spolieha sa na to, ze RS232 prijimace maju rozhodovaciu uroven posunutu niekam k 1V, takze to ako-tak funguje. Skratka, mizerny HW.
Povedzme, ze mame programovaci HW hotovy, moze vyzerat asi takto: Teraz si treba stiahnut nejaky SW
SW
Hlavny je napalovaci program. Moznosti je viacero, pre zaciatocnika asi najdostupnejsia moznost je PonyProg http://www.lancos.com/prog.html
Po nainstalovani ho treba spustit a ohlasi sa, ze chce urobit kalibraciu tu vykoname cez Setup->Calibration a chce aj nastavit programovaci hardware nastavime ho cez Setup->Interface setup podla obrazka Teraz by uz vsetko malo fungovat. Zvolime si AVR z ponuky a... a pockame, najprv treba nejaky jednoduchy hardware.
HW
Na testovanie toho vela netreba. Staci kusok univerzalneho plosaku, AVR-ko a par dalsich drobnosti. Schema je trivialna Nie je tam nic ine nez AVRko a LEDka. Predpoklada sa, ze AVR je napajane z externeho zdroja, 5V, odber nebude vacsi nez 20mA. Ked mame pripraveny HW, otestujeme SW
Prvy test
Vsetko sa pripoji a zapne a treba ako prvy test kliknut na Read Device. Obsah AVR-ka sa bude pomalicky citat do bufferu Pokial pri tom Ponyprog nevypluje chybovu hlasku, najhorsie je zvladnute. Znamena to, ze Ponyprog si dokazal nacitat identifikacne bajty a tieto davaju nejaky zmysel. V mojom pripade v pamati AVR-ka uz nieco bolo, takze sa v bufferi ukze obsah, inak su tam same 0xFF (same jednotky).
Prvy program
Pokial je toto zvladnute, tak ma zmysel pokusit sa napisat si svoj prvy program. Stiahneme si AVRStudio - ja pouzivam AVRStudio 4.19, k nemu balicek WinAVR. Po ich nainstalovani treba zalozit novy projekt a ako prvy zdrojak napisat nieco taketo
Kód: Vybrať všetko
#define F_CPU 1000000UL
#include <avr/io.h>
#include <avr/delay.h>
int main (void)
{
DDRD = 0xFF;
while(1) {
PORTD |=(1<<7);
_delay_ms(200);
PORTD &= ~(1<<7);
_delay_ms(200);
};
}
Teraz treba Ponyprog naviest na tento subor. File->Open device file, ako priponu si zvolime hex, otvorime ho a v bufferi by sa mal ukazat obsah hex suboru Klikneme na Write Device a po chvili, ak je vsetko OK, by mal byt subor napaleny do FLASH AVR-ka a LEDka by mala blikat ako o zivot. Velka vyzva je zvladnuta, kto ma chut, nech si da poharik konaku, ja sa zatial idem zbavit toho programatora - ten hore spominany nemenovany clen fora ho oceni, mne je uz nanic.
Nejake fotky sa najdu tu https://picasaweb.google.com/1118907411 ... directlink