Atmel AVR pod Linuxom

14.03.2007 16:00 | Články | ondrejandrej
Mikrokontroléry Amtel AVR nachádzajú široké pole uplatnenia pri konštrukcii elektroniky. Príklady použitia sú: poplašné zariadenie, inteligentná nabíjačka, regulátor teploty v domácnosti, odplašovač vtákov zo záhrady, alebo nejaká zaujímavá elektronická hračka. Ja som potreboval merať napätie (dve napätia súčasne) a prenášať údaje do PC. Rozhodol som sa pre ATmega16, ktorý je asi najrozšírenejší z mikrokontrolérov Atmel AVR ATmega. V tomto článku opíšem rozbehanie programovania Atmel AVR pod Linuxom vrátane konštrukcie hardvéru.

Programátor

V pravom zmysle slova programátor je človek, ktorý programuje, ale ja mám na mysli elektronický obvod, pomocou ktorého zapíšeme program do flash pamäte mikrokontroléra. Elektrickú schému programátora vidíte na obrázku.

Je to veľmi jednoduché zapojenie, nemusíte ani vyrábať dosku plošných spojov. Ja som použil dosku z iného zapojenia, na ktorej som pílkou na železo prerušil medené „cestičky”, aby som mal medené ostrovčeky. Na tie som prispájkoval súčiastky a drôty s napájacím napätím a vodiče kábla na paralelný port. Pätica mikrokontroléra držala len na drôtoch (vo vzduchu) . Na stránke s návodom sa spomína, že kábel medzi konektorom na paralelný port a programátorom musí byť čo najkratší. V mojom prípade mal dĺžku asi 1m a ešte to fungovalo bez problémov. Musím ešte poznamenať, že na týchto schémach je konektor na paralelný port nakreslený zo strany kolíkov, nie zo strany spájkovania (ja som to najskôr zapojil naopak a nefungovalo to). Do obvodu som prispájkoval päticu a mikrokontrolér som zasunul, až keď bol programátor hotový. Ako zdroj sa dá použiť hocičo, čo sa strká do zásuvky a má 7 až 35 V, napríklad nabíjačka na mobil. (Nenechajte sa popliesť údajom na nabíjačke, že jej napätie je 4 V. V skutočnosti nabíjačky Nokia i Motorola majú asi 11 V. Údaj o napätí platí pri odbere 300 mA.)

Neskôr som rovnaký obvod zapojil na skúšobnej doske (tzv. kontaktné pole), to tiež dobre funguje, hoci na spomenutej stránke sa neodporúča dávať kryštál na skúšobnú dosku, pretože vraj nie je vhodná pre vysokofrekvenčné obvody. Fotka obvodu na skúšobnej doske .
Elektrická schéma

Programátor je jednoduchý a dokonca niektoré súčiastky sa ešte dajú vynechať. Ja som skúsil vynechať kondenzátory C1, C2 a kryštál a všetko fungovalo (mikrokontrolér má pri výrobe nastavené použitie vnútorného RC oscilátora s frekvenciou 1 MHz. Ak chcete, aby procesor mal frekvenciu kryštálu, musíte naprogramovať tzv. prepojky, viď stránku http://www.captain.at/electronics/atmel-programmer/ ). No a ak máte stabilizovaný zdroj 5 V, môžete vynechať súčiastky IO2, C3, C4 a C5.

Skúšal som programovať aj ATmega162 a fungovalo to. Najprv som však musel trochu zmeniť zapojenie (napájanie pripojiť na vývody 20 a 40, kryštál na vývody 18 a 19 a svetelnú diódu na vývod 15 — viď tento katalógový list).

Programy

Na mojom Xubuntu 6.10 som si inštaloval tieto balíky príkazom apt-get install: gcc-avr, binutils-avr, avr-libc a uisp. Vytvoril som adresár, kde som uložil súbory avrledtest.c a Makefile. Sú to textové súbory a sú zo stránky http://www.linuxfocus.org/English/March2002/article231.shtml, ale trochu som ich zmenil. Funkcia delay_ms() obsahovala chybu, v skutočnosti bolo jedno, aké číslo dostala ako argument, vždy spôsobila rovnaké oneskorenie. No a vyhol som sa funkciám cbi() a sbi().
Súbor avrledtest.c:
#include <avr/io.h>

void delay_ms(unsigned short ms)
{
        unsigned short outer1, outer2, bla;
        outer1 = 20;
        while (outer1) {
               outer2 = 10;
               while (outer2) {
                        bla =0;
                        while (bla<ms) bla++;
                        outer2--;
                }
                outer1--;
        }
}

int main(void)
{

        DDRD = 32; // šiesty vývod portu D je výstup (PD5)
        while (1) {

                PORTD = 0;     // vypnutie LED — bity registra PORTD sa nastavia na 0 
                delay_ms(1000);

                PORTD = 32;      // zapnutie LED —  bit 5 registra PORTD sa nastaví na 1 
                delay_ms(1000);

        }
        return 0;
}
Súbor Makefile:
MCU=atmega16
CC=avr-gcc
OBJCOPY=avr-objcopy

CFLAGS=-g -mmcu=$(MCU) -Wall -Wstrict-prototypes -Os -mcall-prologues

all: avrledtest.hex
avrledtest.hex : avrledtest.out
        $(OBJCOPY) -R .eeprom -O ihex avrledtest.out avrledtest.hex
avrledtest.out : avrledtest.o
        $(CC) $(CFLAGS) -o avrledtest.out -Wl,-Map,avrledtest.map avrledtest.o
avrledtest.o : avrledtest.c
        $(CC) $(CFLAGS) -Os -c avrledtest.c -o avrledtest.o

load: avrledtest.hex
        uisp -dlpt=/dev/parport0 --erase  -dprog=dapa
        uisp -dlpt=/dev/parport0 --upload if=avrledtest.hex -dprog=dapa  -v=3 --hash=32

clean:
        rm -f *.o *.map *.out

Funkčnosť programátora vyskúšame príkazom uisp -dprog=dapa. Mali by sme dostať správu:

Atmel AVR ATmega16 is found.

Mne však najprv uisp vyhlásil, že /dev/parport0 neexistuje. Musel som zadať:

sudo mknod /dev/parport0 c 99 0
sudo chmod 666 /dev/parport0

Ak sa tieto príkazy vykonali úspešne a aj potom uisp vyhlasuje chybu, skontrolujte, či máte mikrokontrolér pripojený na napájacie napätie. Mne to v prípade ATmega162 fungovalo aj bez toho (asi mu stačilo napájanie z paralelného portu PC). Po rozbehaní uisp a paralelného portu si spustíme terminál, nastavíme sa do adresára, kde máme avrledtest.c a Makefile a zadáme

make

Ak nedostaneme žiadne varovania ani chybové hlásenia, objaví sa súbor avrledtest.hex, ktorý zapíšeme do flash pamäte príkazom

make load

Neskôr bude možno šikovnejšie zadávať len make load, lebo aj tento príkaz porovná čas poslednej zmeny súboru avrledtest.c a avrledtest.hex a spustí avr-gcc, ak treba. Pripomínam, že horeuvedený program avrledtest predpokladá, že ako zdroj hodinových impulzov používate vnútorný RC oscilátor s frekvenciou 1 MHz. Vtedy je perióda blikania LED asi 2 sekundy. V prípade, že budete chcieť naprogramovať napríklad komunikáciu USART, je lepšie použiť kryštálový oscilátor, ktorý vyžaduje, aby bol pripojený vonkajší kryštál. Tento oscilátor musíte umožniť naprogramovaním prepojky CKOPT (viď stránku http://www.captain.at/electronics/atmel-programmer/ ).

Bitové operácie v C

Na nastavenie bitov v registroch na žiadanú hodnotu používam v horeuvedenom programe iba operátor priradenia =, ale pri písaní programov pre mikroprocesory je takmer vždy potrebné používať aj operátor bitového logického súčtu (OR), súčinu (AND) a negácie (NOT). Operátor bitového súčtu je znak | a vykoná logický súčet bit po bite v dvoch číslach. Vo výsledku bude 1 na mieste, kde aspoň v jednom z čísel je 1 a nula len na mieste, kde je v obidvoch číslach 0. Napríklad

100010002 | 111000002  je rovné 111010002

(Dolný index 2 za číslom znamená, že číslo je v dvojkovej sústave.) Teda napríklad ak chceme v jazyku C nastaviť piaty bit premennej number na 1 a ostatným ponechať pôvodnú hodnotu, robí sa to takto:

number = number | 32 ;

Čo je to isté ako number |= 32;. Tak isto operátor logického súčinu — znak & vykoná logický súčin bit po bite. No a operátor bitovej negácie je ~. Napríklad ak chceme v programe nastaviť piaty bit v čísle number na 0 a ostatné ponechať na pôvodnej hodnote, napíšeme

number = number & (~32);

Keďže 32 sa rovná 1000002, môžeme pre prehľadnejší zápis použiť operátor bitového posunu vľavo <<. Tento operátor posunie číslo vľavo o určený počet bitov. Napríklad 1<<5 sa rovná 32. Je to to isté ako vynásobenie čísla piatou mocninou dvojky.

Literatúra

  • Dôkladný zdroj podrobností o ATmega16 je jeho katalógový list. Mne takmer stačil na vyriešenie mojej úlohy. Obsahuje ukážky kódu v asembleri i v jazyku C, použiteľné snáď pre všetky C prekladače.
  • Celkom dobrá kniha o ATmega16 je „Práce s mikrokontroléry ATMEL AVR ATmega16”, autor David Matoušek. Ak si ju nechcete kúpiť, môžete si ju požičať z CVTI. Táto kniha je užitočná napriek tomu, že sa v nej píše o programovaní v asembleri, lebo podrobne opisuje mikrokontrolér, jeho AD prevodník, komunikáciu USART, prerušenia...
  • V ponuke GM electronic som našiel knihu „Mikrokontroléry Atmel AVR — programování v jazyce C”, autor Vladimír Váňa. V tejto knihe sa píše o programovaní v prostredí Code Vision AVR.
  • V knižnici CVTI je aj kniha „C pro mikrokontroléry”, autor Mann Burkhard. Píše sa v nej aj o AVR, ale nie v spojení s gcc-avr. Má kapitolu o sdcc (Small Device C Compiler), ktorá obsahuje viacero príkladov programov pre tento prekladač.
  • priaznivci P2P programov si môžu nejakú dobrú knihu stiahnuť vo formáte djvu. Stačí vyhľadávať niečo ako
    "Atmel AVR" djvu
    v každej z tých hrubších kníh bude pravdepodobne aj kapitola o gcc-avr.
  • Dobrý zdroj inšpirácie je server www.hw.cz. Je tam aj článok o programe uisp .
  • Na záver tejto časti uvádzam linky na dve stránky, z ktorých som vychádzal:
    http://www.captain.at/electronics/atmel-programmer/ — návod na programovanie ATmega16 pomocou uisp a gcc-avr. Na stránke www.captain.at nájdete aj návod na rozbehanie komunikácie s počítačom (RS-232).
    http://www.linuxfocus.org/English/March2002/article231.shtml — návod na programovanie AT90S4433 pomocou uisp a gcc-avr
    • Simulator AVR 14.03.2007 | 18:26
      Avatar dzairo Teraz nic  Používateľ
      Toje pekne ale skus rozchodit nejaky simulator na AVR.
      A taktiez sa pozri ako by sa dalo rozchodit AVR studio pod Wine.
      A v poslednom rade ATAVRDRAGON ako ho spojazdnit pod nejakou distribuciou.
      Ja planujem prejst na Linux ale potrebujem poradit.

      Dzairo
    • Super ale ... 14.03.2007 | 20:15
      Avatar Marián Sova Ubuntu 10.10  Administrátor
      Mne ten programátor nefugnuje (síce používam, nie ATMEL AVR ale ATMEL AT89S51). Ale fugnuje tento . Mal som aj kábel asi len 30cm dlhý a aj tak to nešlo. A ešte musí byť LPT port v režime ECP. Pri inom mi to nešlo. A po modprobe parport potrebujem ešte parport_pc a ppdev.
      Čo ťa nezabije, to ťa posilní | Leták na propagáciu jabbera v pdf | www.mikroprocesory.sk
      • Re: Super ale ... 15.03.2007 | 10:58
        Avatar dzairo Teraz nic  Používateľ
        Mno mne sa zda chyba v scheme . RESET je stale na +5V. no ani jeden programator som nevidel aby bol reset stale na napajani. teraz som spravil jeden pre PONYPROG (je aj linux verzia) a tam tiez reset je riadeni z portu.

        Tolko slovo odbornika.
        • Re: Super ale ... 15.03.2007 | 15:50
          Avatar ondrejandrej Kubuntu 11.04  Používateľ
          Vstup RESET je na šváboch Atmel AVR invertovaný, tzn. mikroprocesor sa resetuje, keď sa pripojí na 0V. Na mikroprocesoroch AT89... nie je invertovaný, ak sa nemýlim.
    • Hmm 14.03.2007 | 20:56
      luzr   Návštevník
      A co konkretne taky mikrokontroler robi okrem toho ze nachadza siroke uplatnenie? Lopatistickejsie vysvetlenie by myslim neuskodilo.
      • Re: Hmm 14.03.2007 | 21:07
        Avatar Igor Hlina Mac OS ML  Používateľ
        Mno ja sa chystam na korekcny predzosilnovac s DO. (TDA7314 + AVR). Ak to bude hotove, budem tazko uvazovat o uvolneni zdrojakov.
        while (2*2 == 5) { echo "If you're reading this, something is definitely wrong"; }
        • Re: Hmm 07.07.2008 | 21:45
          jakub   Návštevník
          mohol by si
    • otazocka 14.03.2007 | 21:38
      Avatar uid0 Debian  Používateľ
      ja mam taku otazocku na ludi, ktori sa tymto zaoberaju na linuxe:

      je to avrstudio pre windows naozaj nenahraditelne emacsom a znalostou make? lebo mam kamosa, ktory sa tomu dost venuje a hovori mi, ze soft pre windows je lepsi (pritom tiez pouziva gcc).

      okrem toho by mu chybali nejake programy na kreslenie dosiek (presedlal z eagle na nejaky profesionalny) takze ho urcite prehovarat nechcem, len ma to strasne zaujima (ja by som to urcite vymenil za emacs :))
      Debian. apt-get into it…
      • Re: otazocka 14.03.2007 | 21:42
        Avatar Marián Sova Ubuntu 10.10  Administrátor
        Mne úplne stačí hocaký textový editor, prekladač asem51 a usip. Veľa ľudí sa vyhovára, že na win to je lepšie, len preto že sú na to zvyknutý.
        Čo ťa nezabije, to ťa posilní | Leták na propagáciu jabbera v pdf | www.mikroprocesory.sk
        • Re: otazocka 14.03.2007 | 22:23
          Avatar uid0 Debian  Používateľ
          na linuxe sa proste pise takymto sposobom a tak nikto nepotrebuje nieco ako avrstudio. logicke, to som si myslel...
          Debian. apt-get into it…
          • Re: otazocka 15.03.2007 | 10:54
            Avatar dzairo Teraz nic  Používateľ
            No AVRStudio pouzivam pre simulaciu a lepsie spravcovanie. Potrebujem vediet pozriet registre, preiferie... . V neposlednom rade pre moznost pouzivat Jtag a dW . To zatial neviem ako by slo v Linuxe.
            Dlhe roky som pracoval len s ASM ale teraz pracujem aj s C.
            No mne zatial robia problemy tvorit vlastne make file. nejak do toho este neviem vliezt.

            regards
      • Re: otazocka 14.03.2007 | 22:47
        Avatar borg Arch, Debian jessie  Administrátor
        pripadne vim ;)
        • Re: otazocka 14.03.2007 | 23:00
          Avatar uid0 Debian  Používateľ
          994?
          Debian. apt-get into it…
          • Re: otazocka 14.03.2007 | 23:30
            Avatar borg Arch, Debian jessie  Administrátor
            haha, nie m - (v + i) ale vim ktory sa vyslovuje ako "vim"
            • Re: otazocka 15.03.2007 | 21:04
              :-)   Návštevník
              Vi Improved
              • Re: otazocka 15.03.2007 | 22:18
                Avatar borg Arch, Debian jessie  Administrátor
                vi == six
                vim == 994
                to len puntickarsky emacsisty oznacuju tak vim :)
                • Re: otazocka 15.03.2007 | 23:07
                  Avatar uid0 Debian  Používateľ
                  join the great church of emacs...

                  http://www.stallman.org/saint.html
                  Debian. apt-get into it…
                  • Re: otazocka 15.03.2007 | 23:55
                    Avatar borg Arch, Debian jessie  Administrátor
                    • Re: otazocka 16.03.2007 | 12:03
                      Avatar uid0 Debian  Používateľ
                      nezavid :P

                      EMACS: Emacs Makes All Computing Simple
                      EMACS: Emacs Masquerades As Comfortable Shell
                      Debian. apt-get into it…
    • tip 17.03.2007 | 13:46
      Nathan   Návštevník
      Osvedčilo sa mi napájať moje hračky z PS/2 portu.. Má stabilných 5V, 100mA, takže ak máte ako ja USB myš, nie je čo riešiť :)
    • Pekne 18.03.2007 | 22:41
      Martin   Návštevník
      Pekny clanok
      • Re: Pekne 22.03.2007 | 18:46
        skywaker   Návštevník
        www.olimex.com/dev/pdf/avr-pg1b.pdf

        Ked som prvykrat videl tento programator na seriovy port som nechcel verit len neviem ci sa da programovat pomocou "uisp", poradte !!
        • Re: Pekne 22.03.2007 | 18:55
          Avatar Marián Sova Ubuntu 10.10  Administrátor
          Pravdepodobne áno. uisp -dprog=dasa2 .... . Vyčítal som to z helpu uisp:
          dasa serial (RESET=RTS SCK=DTR MOSI=TXD MISO=CTS)
          dasa2 serial (RESET=!TXD SCK=RTS MOSI=DTR MISO=CTS)
          dasa3 serial (RESET=!DTR SCK=RTS MOSI=TXD MISO=CTS)

          Čo ťa nezabije, to ťa posilní | Leták na propagáciu jabbera v pdf | www.mikroprocesory.sk
          • Re: Pekne 22.03.2007 | 22:27
            skywaker   Návštevník
            vyskusam ten seriovy. pojdem kupit suciastky. skoda bo cez ten pralelak som odpalil Atmela Tiny2313 fakt skoda brouka...
            • Re: Pekne 23.03.2007 | 12:21
              Avatar Marián Sova Ubuntu 10.10  Administrátor
              Ouha! To sa ti ako podarilo. Ja som s tým paralelným robil všelijaké pokusy ale ATMEL AT89S51 našťastie prežil a aj paralelný port
              Čo ťa nezabije, to ťa posilní | Leták na propagáciu jabbera v pdf | www.mikroprocesory.sk
              • Re: Pekne 24.03.2007 | 19:05
                skywaker   Návštevník
                Tak som napojil po domacky urobeny zdroj :)

                inac nasiel som na nete zaujimave zapojenie a mozno by seklo ho urobit

                www.kmit.sk/~peto/AVR/smallpmd/index.php
                • Re: Pekne 24.03.2007 | 19:06
                  skywaker   Návštevník
                  jak zistim ze este nie je odpaleny?
                  • Re: Pekne 08.04.2007 | 19:44
                    skywaker   Návštevník
                    Takze som si nainstaloval Kubuntu a k tomu podla navodu v tomto clanku aj avr-gcc

                    co k tomu dodat Kubuntu je super............
      • Odpor 11.04.2007 | 16:01
        Avatar ondrejandrej Kubuntu 11.04  Používateľ
        Dnes som rozobral ten programátor a urobil som ho normálne na doske plošných spojov a v skrinke (namiesto skúšobnej dosky). Zozačiatku to nešlo, ale potom som si otvoril www.captain.at a tam som sa dočítal, že odpor medzi paralelným portom a vývodom 7 mikroprocesora nemusí byť (môže to byť iba spojené). Tak som ho odstránil a ide to.

        Andrej (autor článku)
    • ponyprog 15.04.2007 | 19:32
      Avatar misoo Debian 'Etch'  Používateľ
      Zdravim, viete niekto rozbehat Ponyprog pod linuxom, lebo mne sa to nedari.
      Na stranke "www.lancos.com" su aj zdrojaky aj nejake verzie pre stary Redhat este s jadrom 2.4
      • Re: ponyprog 25.04.2007 | 19:34
        skywaker   Návštevník
        Nevie dakto aky je rozdiel medzi Atmel Tiny 2313 a AtTiny26L-8 20DIP dakujem
        jedine co som zistil z dokumentacie ze je nizko prikonovy Low Voltage
    • Moja trosku starsia hracka s atmelom 27.04.2007 | 20:15
      Avatar Miroslav Bendík Gentoo  Administrátor
      Len pre odstrasenie tu hodim svoj starsi zdrojak mojho digitalneho teplomeru http://frix.fri.uniza.sk/~bendik/atmel.html. Cele to funguje s atmel mega8515. Videiko.

      Len take drobne upozornenie - neodporucam sa hrat bez uvazenia s poistkami ktore ovladaju oscilator. Mne sa podarilo moj atmel pekne zablokovat, nastastie som ho ozivil druhym tak, ze som na Xtal1 priviedol striedave impulzy z at90s2313.

      PS: prajem vsetkym atmelakom prijemnu zabavu s ich chrobakmi ;)
    • dodatky k článku 07.05.2007 | 01:43
      Avatar ondrejandrej Kubuntu 11.04  Používateľ
      Podstatné dodatky k článku:
      1. Ak si budete chcieť kúpiť v GM electronic v Bratislave nejaký ATmega alebo ATtiny, musíte si to objednať aspoň týždeň vopred. Taká je moja skúsenosť.
      2. Skúsil som s týmto programátorom programovať ATtiny2313, ktorý tu bol spomenutý, ale neúspešne. Po príkaze

        uisp -dprog=dapa

        sa síce objaví

        Atmel AVR ATtiny2313 is found,

        dajú sa aj čítať a programovať prepojky (fuse bytes), ale nedá sa zapísať program (vypisuje niečo ako "Attempt failed. Written 0x12, read 0xff, try to disable polling with the -dno-poll switch).
      Pri programovaní ATtiny2313 som už skrátil kábel na asi 30 cm, skratoval 1k odpory, vyskúšal rôzne napájacie napätia a nič.
    • dodatky k článku 07.05.2007 | 01:44
      Avatar ondrejandrej Kubuntu 11.04  Používateľ
      Podstatné dodatky k článku:
      1. Ak si budete chcieť kúpiť v GM electronic v Bratislave nejaký ATmega alebo ATtiny, musíte si to objednať cez internet aspoň týždeň vopred. Taká je moja skúsenosť.
      2. Skúsil som s týmto programátorom programovať ATtiny2313, ktorý tu bol spomenutý, ale neúspešne. Po príkaze

        uisp -dprog=dapa

        sa síce objaví

        Atmel AVR ATtiny2313 is found,

        dajú sa aj čítať a programovať prepojky (fuse bytes), ale nedá sa zapísať program (vypisuje niečo ako "Attempt failed. Written 0x12, read 0xff, try to disable polling with the -dno-poll switch).
      Pri programovaní ATtiny2313 som už skrátil kábel na asi 30 cm, skratoval 1k odpory, vyskúšal rôzne napájacie napätia a nič.
      • Re: dodatky k článku 07.05.2007 | 01:48
        Avatar ondrejandrej Kubuntu 11.04  Používateľ
        To malo byť len jeden krát, sorry.
      • Re: dodatky k článku 07.05.2007 | 14:44
        Avatar Marián Sova Ubuntu 10.10  Administrátor
        Presne toto mi robilo na AT89S51. Sprav si tento programátor S ním to ide v pohode. Akurát treba prepínač
        -dprog=stk200
        Čo ťa nezabije, to ťa posilní | Leták na propagáciu jabbera v pdf | www.mikroprocesory.sk
        • Re: dodatky k článku 09.05.2007 | 19:45
          Avatar ondrejandrej Kubuntu 11.04  Používateľ
          Nemal som 74HC244, tak som si spravil tento sériový programátor, ktorý tu bol spomenutý:
          www.olimex.com/dev/pdf/avr-pg1b.pdf

          Keď som použil uisp s voľbami -dserial=/dev/ttyS0 -dasa2
          tak to fungovalo tak isto ako ten paralelný programátor, že len zobrazilo typ procesora, ale nevedelo do neho zapísať program. Škoda. Musím teda počkať na ten 74xx244.

          Ty si niekde spomenul, že paralelný port PC musí byť pri programovaní v režime ECP a píšu to aj na tej stránke. Čo to znamená? Ako sa to dá prepnúť do tohto režimu?
      • Re: dodatky k článku 22.05.2007 | 13:13
        Avatar ondrejandrej Kubuntu 11.04  Používateľ
        Odporúčam vyhýbať sa švábu ATtiny2313, kde to bude len trochu možné. Už som vyskúšal tri zapojenia programátorov vrátane stk200, všetky fungovali s ATmega162 a so všetkými sa uisp choval rovnako (ako som napísal vyššie), keď bol pripojený ATtiny2313.

        Asi ho vyhodím, aby ma to nepokúšalo dalej s ním strácať čas.
        • Re: dodatky k článku 17.04.2008 | 23:54
          jozo   Návštevník
          Ja pouzivam pony-stk200 + AtTiny2313 a ide to super
    • chybička 29.06.2008 | 20:27
      Avatar ondrejandrej Kubuntu 11.04  Používateľ
      Po čase som sa k článku vrátil a obávam sa, že je v ňom chybička. Vývod č 9 (RESET) nemá byť pripojený na pin č. 14, ale pin č. 16 na paralelnom porte. Sorry, ak to niekomu nefunguje kvôli tomu.
    • dodatok k článku -- ATtiny25/45/85 30.06.2008 | 01:13
      Avatar ondrejandrej Kubuntu 11.04  Používateľ
      Tak som vyskúšal ATtiny25 s týmto programátorom a funguje to. Má to však niekoľko háčikov:
      • Nefunguje to s programom uisp. Z neznámeho dôvodu sa uisp od roku 2005 nevyvíja a teda nepodporuje ATtiny25. Použil som avrdude, funkčnosť zapojenia sa overuje príkazom
        avrdude -c dapa -p t25
        Konfiguračný súbor pre avrdude na rozhranie dapa sa nachádza v inštalácii WinAVR.
      • Nechápem prečo, ale nefunguje funkcia delay_ms(). Použil som funkciu _delay_ms(int val) z hlavičkového súboru util/delay.h .
      • Re: dodatok k článku -- ATtiny25/45/85 13.05.2009 | 20:39
        Avatar Jakub Vojaček Fedora 15  Používateľ
        zdravim mozem sa opytat ako v linuxe spristupnit LPT pre pascal resp ako to urobit v pascale aby posielal data na LPT?
        dakujem
    • Dodatok - programátor na USB port 12.09.2009 | 21:10
      Avatar ondrejandrej Kubuntu 11.04  Používateľ
      Niekde tu bola diskusia o tom, aký programátor je najlepší, keď počítač nemá paralelný port. Odporúčam USB Tiny ISP, viď http://www.ladyada.net/make/usbtinyisp/index.html. Funguje pod linuxom aj windows a je cenovo prijateľný. Na stránke je odkaz na internetový obchod, posielajú aj na Slovensko. Poštovné nie je až také hrozné a dorazilo to za 3 pracovné dni (!).

      Ešte jedna poznámka: v prípade použitia USB Tiny ISP bude v súbore Makefile príkaz na zápis programu (za make load:) nasledovný:
      sudo avrdude -c usbtiny -p m16 -U flash:w:avrledtest.hex
      Inak pri inštalácii SW pre programátor pod Ubuntu mám poznámku k návodu na stránke USB Tiny ISP. Je lepšie inštalovať Ubuntu balíky, než sťahovať tie programy zo stránok. Je to minimálne menej prácne, ale pravdepodobne je to aj lepšie kvôli kompatibilite s OS. Takže namiesto ručného sťahovania inštaluje jednoducho pomocou
      sudo apt-get install binutils avr-libc gcc-avr atď.