Programovacie prostredie Algorithm Builder. Algorithm Builder pre avr, Začíname Grafický assembler Programovanie pre algorithm builder download torrent

Grafické programovacie prostredie pre vývoj aplikácií pre mikrokontroléry s architektúrou AVR.

Algorithm Builder je výkonný nástroj, ktorý vám umožňuje vykonávať celý cyklus vytvárania a kontroly programového kódu. Prostredie obsahuje: grafický editor, simulátor mikročipu na ladenie algoritmu, kompilátor a obvodový programátor na načítanie kódu do čipu. Program je domácim analógom Assemblera a je vhodný pre skúsených vývojárov aj pre tých, ktorí práve začínajú ovládať firmvér zariadenia.

Vytváranie algoritmov môže prebiehať na úrovni zostavy alebo na úrovni makra, na základe práce s viacbajtovými hodnotami, berúc do úvahy znamienko. Makrooperátory navyše obsahujú najbežnejšie sady príkazov.

Všetky vyvinuté programy sú prezentované vo forme blokových diagramov vetviacich stromov, prechodové siete sú zobrazené graficky vo vektorovej forme. Ak je podľa podmienky potrebné prejsť na nejaké miesto v kóde programu, tak tam stačí nakresliť vektor. Týmto spôsobom je softvér oslobodený od viacerých názvov štítkov. V prípade, že je vetva príliš dlhá, vždy je tu možnosť osloviť vetvu názvom štítku. Jasnosť takejto logickej štruktúry podľa vývojárov výrazne skracuje čas písania kódu a znižuje počet chýb.

Hlavné okno umožňuje umiestňovať potrebné objekty a meniť ich, vkladať, presúvať atď., ako v každom grafickom editore. V samostatnej časti obrazovky sa vo forme tabuľky vytvorí okno so zoznamom všetkých konštánt a premenných, čím sa algoritmus oslobodí od ďalších vstupov. Na konfiguráciu parametrov periférnych zariadení (UART, SPI, ADC, časovače) je k dispozícii špeciálny prvok s rozhraním rozbaľovacieho okna. Kompilátor nezávisle generuje súbor inštrukcií, ktoré poskytujú zvolené prevádzkové parametre zariadenia. Okrem toho je podporovaná automatická konverzia kódov Windows ANSI na alfanumerické kódy LCD v ruskom jazyku. Program podporuje širokú škálu rodín mikrokontrolérov: ATtiny, ATmega, AT90.

Simulátor zobrazuje všetky zmeny vyskytujúce sa v rôznych registroch, pamäťových bunkách a časovačoch. Simuláciu je možné vykonávať krok za krokom (s alebo bez zadávania funkcií), k bodu zlomu alebo k vybranej oblasti.
Na obsluhu obvodového programátora je potrebné samostatne zostaviť jednoduchý adaptér, cez ktorý je mikrokontrolér pripojený k portu COM počítača. Navyše je možné pripojiť cez USB konektor. Programátor spočíta počet preprogramovaní jadra a uloží počítadlo do samotného čipu.

Monitorovací režim ladenia na jadre pomocou iného adaptéra (všetky schémy sú dostupné v softvérovej dokumentácii) umožňuje sledovať vnútorný stav skutočného kryštálu v akomkoľvek bode zlomu. Pre komunikáciu medzi ovládačom a počítačom je podľa uváženia užívateľa pridelený iba jeden výstup. On Chip ladenie sa vzťahuje na akýkoľvek typ čipu, ktorý má pamäť SRAM.

Napriek svojim zjavným výhodám je Algorithm Builder v amatérskej rádiovej komunite málo známy. Čiastočne je to spôsobené tým, že do roku 2010 bolo vizuálne programovacie prostredie platené, bezplatná demo verzia obmedzovala kód na dva kilobajty. Dnes je softvér distribuovaný úplne voľne. Priečinok s nainštalovaným programom je možné skopírovať na iné médium a pracovať ako prenosný. Softvér je dodávaný s užívateľskou príručkou. Článok rozoberá množstvo jednoduchých prác a poskytuje schémy programátorov pre USB a COM porty.

Autormi programu Algorithm Builder je skupina domácich programátorov pod vedením ľudového remeselníka Gennadija Leonidoviča Gromova z Nižného Novgorodu. Program sa dodnes vyvíja, pribúdajú nové funkcie a na webovej stránke autora sa objavil malý výber knižníc.

Rozhranie programu Algorithm Builder a používateľská príručka sú prezentované v ruštine a angličtine.

Softvér je kompatibilný s operačnými systémami Microsoft Windows 95, 98, 2000, NT, ME, XP, Vista a 7.

Distribúcia programu: zadarmo

Myslím, že v našej dobe neexistuje žiadny rádioamatér, ktorý by sa nikdy nestretol s mikrokontrolérmi. Skôr či neskôr, ale toto sa stane. Keď som prvýkrát uvidel obvod s mikrokontrolérom, okamžite som zavrel stránku prehliadača s myšlienkou: "Ach, stále to nemôžem zostaviť." Ale čas plynul, obvodov využívajúcich mikrokontroléry pribúdalo a nakoniec som sa rozhodol začať. V skutočnosti sa ukázalo, že všetko nie je také ťažké, ako som si myslel.

Po prvé, poďme na to: čo je vlastne mikrokontrolér (MCU)? V podstate ide o miniatúrny počítač určený na vykonávanie jednoduchých úloh. Všetko potrebné pre činnosť mikrokontroléra je obsiahnuté v jednom kryte. Mikrokontrolér má rôzne periférie – vstupné/výstupné porty, časovače, komunikačné rozhrania atď. Mikrokontrolér má tri typy pamäte: RAM (pamäť s náhodným prístupom), FlashROM (programová pamäť), EEPROM (nezávislá pamäť).

Hlavný rozdiel medzi mikrokontrolérom a bežným mikroobvodom je v tom, že mikrokontrolér nepracuje podľa tuhej logiky nainštalovanej vo výrobe, ale je naprogramovaný. Program je klasicky napísaný v špeciálnom prostredí na počítači v jednom z programovacích jazykov, následne je preložený do strojového jazyka (kompilovaný) a zapísaný do pamäte ovládača. V tomto kurze bude všetko trochu inak – program nebude napísaný, ale doslova nakreslený vo forme vývojového diagramu. Vďaka tomuto prístupu vyzerá program prehľadnejšie a čas na vývoj programu sa v porovnaní s klasickými programovacími technikami skráti 3-5 krát.

Algorithm Builder - programovacie prostredie

Algorithm Builder vykonáva celý vývojový cyklus, počnúc vstupom do algoritmu, vrátane procesu ladenia a končiac zápisom programu do pamäte.

Začnime krátkym prehľadom rozhrania programu

Hlavné menu

  • Súbor. Slúži na otváranie, ukladanie, zatváranie projektov a jednotlivých algoritmov, ako aj na ukončenie programu.
  • Upraviť. Akcie súvisiace s úpravou algoritmu: vystrihnutie, kopírovanie, zvýraznenie atď.
  • Displej. Prepínací algoritmus/tabuľka s premennými (viac o ňom nižšie) + šablóny operácií a podmienok.
  • Vyhľadávanie. Tu netreba vysvetľovať.
  • Prvky. Algoritmus je zostavený zo špeciálnych prvkov: Text, Vertex, Field, Label, Condition, Použitý (nepodmienený) vektor prechodu, Customizer. So všetkými sa zoznámime počas tréningového procesu. V ponuke je niekoľko dôležitých položiek: Deaktivovať, Makro, Prerušenia. Deaktivovať- tento komponent sa neskompiluje. Makro- vytvárať makrá. Prerušenia- obsahuje zoznam názvov všetkých prerušení mikrokontroléra. O tejto funkcii sa dozviete v nasledujúcich lekciách, ale teraz len poviem, že je to mimoriadne dôležitá a potrebná vec pre prácu.
  • Program. Akcie spojené s programom - kompilácia (preklad do strojového jazyka), simulácia programu, čítanie pamäte radiča (Flash a EEPROM) atď.
  • Možnosti. Nastavenia projektu a prostredia.
  • ?. Informácie a pomoc o nástroji Algoritm Builder.

Panel s nástrojmi

Nie je potrebné žiadne vysvetlenie. Keď umiestnite kurzor myši na prvky panela, zobrazia sa popisy.

Otvorte projekt

Je tu jedna zvláštnosť. Nemôžete otvoriť dva projekty súčasne. Ak chcete otvoriť/vytvoriť nový projekt, musíte zatvoriť starý. Po otvorení projektu môžete otvoriť/vytvoriť iba samostatný súbor s algoritmom. Súbor projektu má príponu .alp a samostatný súbor algoritmu má príponu .alg

Práca s premennými a konštantami

Je usporiadaná vo forme špeciálnej tabuľky (prepínať ju môžete pomocou klávesu F12, buď cez menu, alebo pomocou klávesu na paneli nástrojov). Samotný algoritmus je tak zbavený nepotrebných záznamov.

Obrovské množstvo štítkov, vďaka ktorým sú možné prechody z jednej časti programu do druhej, značne zahlcuje kód a stráca sa prehľadnosť programu. V Algorithm Builder sú prechody oveľa jednoduchšie - pomocou šípky (vektoru). Možné sú však aj prechody pozdĺž pomenovaných štítkov.

Simulácia činnosti programu

Simulátor zobrazuje všetky zmeny vyskytujúce sa vo virtuálnom mikrokontroléri. Ak chcete skontrolovať fungovanie programu, nemusíte ani kupovať mikrokontrolér! Simuláciu je možné vykonávať krok za krokom (s alebo bez zadávania funkcií), do nastaveného bodu zlomu alebo do vybranej oblasti.

Ladenie

Algorithm Builder má systém ladenia na čipe (On Chip debug), ktorý vám umožňuje sledovať obsah pamäte skutočného mikrokontroléra v určených bodoch. V tomto prípade sa na komunikáciu s počítačom používa iba jedna noha mikrokontroléra a podľa voľby používateľa. Ladenie monitora je možné aplikovať na takmer každý mikrokontrolér. Toto je softvérová verzia protokolu debugWIRE.

Prečo je Algorithm Builder medzi rádioamatérmi málo známy? Po prvé, do roku 2010 bol program platený. Dnes je softvér distribuovaný úplne voľne. Po druhé, nedostatok oficiálnej podpory programu. Nenájdete jediného výrobcu, ktorý používa Builder. Internetové zdroje venované tomuto programu možno spočítať na jednej ruke.

Stojí za to sa o tom trochu porozprávať potrebné materiály a nástroje

Prvá vec, ktorú potrebujete, je spájkovačka. Hlavný nástroj rádioamatéra. Výkon spájkovačky by mal byť v rozmedzí 30-60 W. Prečo ich nemôže byť viac? Výkonná spájkovačka sa viac zahrieva a poškodzuje stopy dosky a použité diely. A nie je to také pohodlné na spájkovanie - takáto spájkovačka je oveľa väčšia a ťažšia.

Na načítanie programu do mikrokontroléra potrebujete programátor- v najjednoduchšej verzii pozostáva len z niekoľkých rezistorov a diód (na LPT a COM port). Ak nemáte na svojom počítači COM alebo LPT port, USB programátor si môžete objednať na, DealExtreame alebo (Vyhľadávací dotaz "avr programátor"; stojí asi 4-6 $). O výbere a zostavení programátora napíšem v ďalšej lekcii.

Materiály článku boli pripravené na Katedre automatizácie, informatiky a riadiacich systémov (AIiSU) Moskovskej štátnej priemyselnej univerzity (GOU MGIU).
(Od roku 2011 sa MGIU nazýva Federálna štátna rozpočtová vzdelávacia inštitúcia vyššieho odborného vzdelávania „MGIU“).
Autori: Kryukov A.I., Shubnikova I.S., Troikov S.M.

Katedra AI&CS už viac ako 35 rokov pripravuje odborníkov v oblasti vývoja a prevádzky elektronických, mikroprocesorových, počítačových, robotických, mechatronických a informačných riadiacich systémov pre automobilovú a leteckú techniku, strojárstvo a obchod. Výskumná činnosť pracovníkov katedry je realizovaná v oblastiach súvisiacich s vývojom systémov na podporu rozhodovania založených na technológiách umelej inteligencie, analýzou a syntézou procesov riadenia zložitých systémov, monitorovaním a inteligentnou detekciou porúch zariadení. Dôležitou oblasťou vedeckej činnosti katedry je výskum v oblasti automatických a elektronických systémov vozidiel.
Existuje veľké množstvo rôznych aplikácií na písanie riadiacich programov pre Atmel MK - sú to vývojové a ladiace prostredia v jazykoch nízkej úrovne (napríklad bezplatný balík AVR Studio na vývoj programov v jazyku AVR Assembler), vývojové prostredia v jazykoch vysokej úrovne (ako je prostredie WinAVR na vývoj programov v jazyku podobnom C) a dokonca existuje aj grafické prostredie na vývoj a ladenie softvéru s názvom „Algorithm Builder“.

Algorithm Builder sa odlišuje od všetkých ostatných prostredí a práve na to sa zameriame. Vrcholom tejto aplikácie nie je ani to, že je zadarmo, ale to, že kód v nej nie je ani napísaný, ale je nakreslený vo forme vývojových diagramov algoritmov, čo výrazne skracuje čas na vývoj aplikácie. Toto prostredie poskytuje úplný vývojový cyklus, počnúc vstupom do algoritmu, vrátane ladenia, a končiac programovaním kryštálu v obvode. Výsledkom je úplne prehľadná celá logická štruktúra programu.

Vývoj softvéru v prostredí Algorithm Builder spočíva v vytváraní takýchto blokov úloh, ich umiestnení do roviny a vytváraní spojení medzi nimi z podmienených a nepodmienených prechodov.

Aby ste neprepisovali celý návod na prácu s prostredím Algorithm Builder, odporúčam vám, aby ste si ho prečítali sami, najmä preto, že aplikácia je vyrobená v tuzemsku a obsahuje podrobný popis v ruštine na základe príkladov na práci s ním. Na základe osobných skúseností môžeme s istotou povedať, že táto príručka (mimochodom, nie je ani zďaleka objemná - iba 20-30 minút štúdia) je dosť na úplné pochopenie a pochopenie tohto softvérového produktu.

Algorithm Builder si môžete stiahnuť na http://algrom.net/russian.html. A proces vývoja riadiaceho programu si môžete pozrieť na odkaz. Hotový program si teda teraz predstavíme v popisovanom vývojovom prostredí s podrobným komentárom k nemu.

Najprv je potrebné vybrať typ kryštálu (v našom prípade Atmega8) v menu Options/Project Options a tam nastaviť taktovaciu frekvenciu na 8 000 000 Hz (8 MHz). Ďalej kryštál pri štarte resetujeme (Elements/Interrupts/Reset). Potom zásobník inicializujeme výberom Elements/Customer…/Stack Ukazovateľ (SP), otvorí sa okno, s ktorým stačí súhlasiť kliknutím na „OK“ (obr. 2).

Ryža. 2. Stack Customizer

Ďalším krokom je inicializácia USART transceivera (nebuďte prekvapení výskytom písmena „S“ v skratke - ide o modernejšiu verziu UART, ktorá sa od nej líši v možnosti prenášať/prijímať dáta nie iba v asynchrónnom režime, ale aj v synchrónnom režime) výberom ponuky Elements / Customizer... /USART. V okne, ktoré sa otvorí (obr. 3), v časti Prijímač začiarknite políčka vedľa položiek Povoliť (zapnúť prijímač dát) a Povoliť úplné prerušenie (povoliť prerušenia pri príjme dát), potom začiarknite políčko vedľa položky Dvojitá rýchlosť. , nastavte veľkosť znaku Veľkosť znaku: 8 – bit a rýchlosť prenosu dát nastavte na Baud Rate = 9615 bps (po kliknutí na výber rýchlosti prenosu dát v menu by ste mali zvoliť 9600 bps, získa sa 9615 bps vďaka prepočet taktovacej frekvencie na 8 MHz).


Ryža. 3. Konfigurátor USART

Hlavná časť programu bude pozostávať zo sekvencie kontrol kontrolných kódov (výpis č. 1). Ide o to, že PC odošle operačný kód cez UART a MK ho prijme a vygeneruje príslušné riadiace akcie na pohone lopatiek ventilátora a servopohone. Celkovo budú tri takéto kódy (môžete prísť s úplne ľubovoľnými kódmi):

  • 31 dolárov - zapnite pohon lopatiek ventilátora;
  • 20 dolárov - vypnite pohon lopatiek ventilátora;
  • $A1 - prístup k servopohonu.

  • Ak je všetko jasné s prvými dvoma kódmi, potom s tretím to nie je také jednoduché - $A1 je iba príkaz na prístup k servopohonu, potom musíte získať kód uhla natočenia. Experimentálne sa zistilo, že sa pohybuje od 05 USD do 154 F. Okrem toho budeme odosielať z počítača a podľa toho prijímať z MK od nízkeho bajtu. Zakážeme tiež prerušenia prijímania údajov cez USART počas trvania vykonávania príkazu - inak sa môže ukázať ako „neporiadok“ údajov.

    Výpis č. 1

    Výpis č. 2 zobrazuje kód pre podprogram oneskorenia (Delay). Časové oneskorenie je nevyhnutné pre presné a úplné spracovanie príkazu a tvorí sa zacyklením programu na N cyklov (pokusom a omylom sme vypočítali, že v našom prípade je najúspešnejší počet cyklov 84FF v šestnástkovej sústave).

    Výpis č. 2

    Koniec prijímania dát cez UART spôsobí prerušenie USART_Receive_Complete (ak nie je momentálne vypnuté v hlavnom tele programu), ktoré je možné nastaviť v kóde cez menu Elements/Interrupts/USART_Receive_Complete. V tele handlera by ste mali uložiť všetky v ňom použité registre do zásobníka a na konci handlera ich zo zásobníka obnoviť. Aj v tomto handleri môžete získať stavový bajt (register UCSRA) na kontrolu chýb v údajoch a samozrejme aj samotné údaje z registra UDR (výpis č. 3).

    Výpis č. 3

    Uhol natočenia servopohonu závisí od šírky impulzu, ktorý je k nemu dodávaný, pričom sa perióda udržiava konštantná (perioda je 20 ms a trvanie riadiaceho impulzu je od 0,8 do 2,2 ms, aj keď pre rôzne servá sú tieto hodnoty ​​môže sa mierne líšiť) na to potrebujeme podprogram uhol natočenia servopohonu (výpis č. 4). Čas riadiaceho impulzu a čas pauzy budú nastavené podobne ako podprogram oneskorenia. Ako sme napísali vyššie, experimentálne sme pre kryštálovú frekvenciu 8 MHz určili, že čas impulzu je špecifikovaný kódom v rozsahu od $05AF do $154F. Keď teda poznáme čas celej periódy - $9E3C (určený aj experimentálne), môžeme vypočítať čas pauzy ako rozdiel medzi trvaním periódy a trvaním impulzu. Zostáva len postupne vypočítať čas impulzu a čas pauzy, podobne ako pri podprograme delay, a potom takýto signál niekoľkokrát zopakovať (v našom prípade sme signál zopakovali $10-krát, teda 16-krát v systéme desiatkového zápisu )

    Výpis č. 4

    Po napísaní kódu (nakreslení algoritmu) riadiaceho programu je potrebné ho skompilovať a flashnúť do mikrokontroléra. Program je možné skompilovať stlačením Ctrl+F9 alebo cez menu Program/Compile. Ak je kompilácia úspešná, zobrazí sa informačné okno, v ktorom bude uvedené množstvo obsadenej pamäte MK.

    Ďalej je potrebné nahrať výsledok kompilácie (súbor s príponou *.hex bez predpony „EE_“ na začiatku, ktorý sa nachádza v rovnakom priečinku ako zdroj programu) do ovládača. Môžete to urobiť pomocou bezplatného nástroja AvrProg, ktorý je tiež súčasťou bezplatného balíka AVR Studio. Môžete si ho stiahnuť zo stránky mymcu.ru alebo z atmel.com (anglická stránka).

    Okrem utility na flashovanie firmvéru MK budete potrebovať aj programátora. Môžete si ho buď kúpiť (jednoduché verzie sú relatívne lacné), alebo si ho prispájkovať sami.

    Ryža. 4. Obvod LPT programátora
    Najjednoduchší, aký poznám, je LPT programátor, ale bude teda vyžadovať LPT port na počítači, čo je momentálne vzácnosť. Myšlienka programátora je jednoduchá a spočíva v priamom pripojení LPT portu k ISP rozhraniu a linke Reset ovládača (obr. 4).

    Ďalšou možnosťou programátora na vlastnú montáž je USB programátor (schéma je na obr. 5), je to samozrejme zložitejšie, ale v budúcnosti sa to môže ukázať ako oveľa pohodlnejšie. Je tu však jedno „ale“ – na jeho zostavenie budete stále potrebovať programátor LPT, aj keď iba raz. Pre prebliknutie bitov FUSE bude potrebné flashnúť riadiaci ovládač samotného programátora. Je potrebné, aby boli naprogramované bity SPIEN, CKOPT a SUT0 (nastavené na „0“). Zvyčajne MK pochádzajúce z továrne, t.j. nové majú už naprogramovaný bit SPIEN. Je tiež žiaduce (ale nie nevyhnutné) naprogramovať (nastaviť na „0“) bit BODEN. Zostávajúce bity musia byť odprogramované (nastavené na „1“). To môže vyžadovať aplikáciu Codevision AVR V2.03.4. Podrobný popis montáže USB programátora si môžete prečítať tu.

    Charakteristické rysy:

    • Podporované operačné systémy: Windows 95/98/2000/NT/ME/XP
    • Licencia: Freeware
    • Jazyk rozhrania: angličtina, ruština
    • Programovacie jazyky: grafický assembler
    • Hlavné funkcie:
      • grafický editor kódu programu
      • kompilátor
      • simulátor na ladenie zavedeného algoritmu
      • programovanie cez COM port pomocou jednoduchého adaptéra (7 rezistorov, 3 diódy; pozri dokumentáciu k schéme)
      • ladenie algoritmu na čipe pomocou ešte jednoduchšieho adaptéra (1 alebo 2 diódy, 2 alebo 4 odpory; pozrite si dokumentáciu k schéme)
    • Adresa internetovej podpory: http://algrom.net/russian.html

    Popis:

    Algorithm Builder je bezplatné prostredie (podmienky distribúcie freeware) pre AVR MK, ktoré poskytuje celý cyklus vývoja firmvéru, vrátane. fázy, ako je vstup algoritmu, ladenie a programovanie v obvode. Vývoj programu je možné realizovať na úrovni assembleru aj na makroúrovni, na ktorej je možné pracovať so striedajúcimi sa veličinami ľubovoľnej dĺžky. To približuje možnosti programovania k jazyku na vysokej úrovni.

    Charakteristickým rysom Algorithm Buildera je schopnosť vstúpiť do programu graficky vo forme algoritmu so stromovou štruktúrou. Výsledkom je úplne prehľadná celá logická štruktúra programu. Tento spôsob programovania sa čo najviac približuje povahe ľudského vnímania, a preto sa v porovnaní s klasickým assemblerom dá oveľa ľahšie naučiť. Očakávané skrátenie času tvorby firmvéru oproti klasickému assembleru je 3-5 krát.

    Prostredie je navrhnuté tak, aby fungovalo pod Windows 95/98/2000/NT/ME/XP. Pre bežnú prevádzku editora je potrebný font "Courier".

    Súbory na stiahnutie:

    • Séria AT90
      • AT90CAN128, AT90PWM3, AT90S1200, AT90S2313, AT90S2323, AT90S2333, AT90S2343, AT90S4414, AT90S4433, AT4,90S9055 USB64, AT90USB82, AT90USB128, AT90USB162
    • séria ATmega
      • ATmega8, ATmega16, ATmega32, ATmega48, ATmega64, ATmega88, ATmega103, ATmega128, ATmega161, ATmega162, ATmega163, ATmega164P, AT2AT3365 AT4 ATmega325, ATmega328P, mega603, ATmega640, ATmega644, ATmega644P, ATmega645, ATmega1280, ATmega1281, ATmega1284P, ATmega2560, ATmega2561, ATmega3250, ATmega6450, ATmega8515, ATmega8535
    • ATtiny
      • ATtiny10, ATtiny11, ATtiny12, ATtiny13, ATtiny15, ATtiny22, ATtiny24, ATtiny25, ATtiny26, ATtiny28, ATtiny44, ATtiny45, ATtiny84, ATtiny85, ATtiny261, AT31 ATtiny861

    Algoritmové operátory sú rozdelené do dvoch skupín.

    Prvú skupinu tvoria elementárne operátory, ktoré implementujú jednu elementárnu inštrukciu mikrokontroléra. Programovanie pomocou takýchto operátorov zabezpečuje vývoj programu na úrovni assemblera. V algoritme sú tieto operátory zobrazené obyčajným (nie tučným) písmom.

    Druhú skupinu tvoria makrooperátory, ktoré sa po zostavení prevedú na sadu potrebných elementárnych inštrukcií mikrokontroléra. Operátory makier vám umožňujú vykonávať zložitejšie transformácie, vrátane viacbajtových, v pohodlnej forme.

    Príkazy algoritmu sa píšu hlavne v objektoch „Field“, podmienené skoky sa implementujú cez objekt „Podmienka“ a nepodmienené skoky cez „Objekt“

    JMP Vector.” Formát pre nahrávacie operátory sa výrazne líši od klasického assembleru. Je postavená na vizuálno-funkčnom princípe a obsahuje obraz vykonávanej akcie. Písanie príkazov sa musí zhodovať so vzorom akceptovaným kompilátorom.

    V tabuľke nižšie sú uvedené šablóny pre všetky možné elementárne operátory pre mikrokontroléry AVR. Treba si uvedomiť, že niektoré jednoduché typy mikrokontrolérov obsahujú neznámu množinu.

    Symbol „#“ vo vzore operátora predpokladá konštantu, reprezentovanú buď priamo alebo ako algebraický výraz, „Rd“ a „Rr“ sú pracovné registre, „Pn“ je vstupno-výstupný register.

    Operátori sú prezentovaní vo forme tabuľky.

    Komentár operandu

    R Pracovný register, štandardný alebo deklarovaný v časti Pracovné registre: (...)

    # Konštantný (...)

    SRAM Var Variable deklarovaná v sekcii SRAM: (...)

    Premenná EEPROM deklarovaná v sekcii EEPROM: (...)

    [#] Priamo adresovateľná bunka SRAM

    [X] Bunka SRAM adresovaná nepriamo X

    [--X] Bunka SRAM adresovaná nepriamo, spolu s X s preddekrementovaním

    Bunka SRAM adresovaná nepriamo v X s dodatočným prírastkom

    [Y] Bunka SRAM adresovaná nepriamo Y

    [--Y] Bunka SRAM adresovaná nepriamo, Y s preddekrementovaním



    Bunka SRAM adresovaná nepriamo v Y s dodatočným prírastkom

    Bunka SRAM adresovaná nepriamo v Y s posunom adresy # bajtov

    [Z] Bunka SRAM adresovaná nepriamo Z

    [--Z] Bunka SRAM adresovaná nepriamo, Z-preddekrementovaná

    Bunka SRAM adresovaná nepriamo v Z s dodatočným prírastkom

    Bunka SRAM adresovaná nepriamo v Z s posunom adresy # bajtov

    P I/O register (...)

    EE[#] Priamo adresovateľná bunka EEPROM

    Operandy označené ako (...) môžu byť deklarované ako viacbajtové. Nahradenie operandov rôznych formátov je povolené. Okrem toho, ak je operand prijímajúci výsledok operácie kratší ako iný, potom bude rozmer operácie obmedzený na najmenšiu, inak budú chýbajúce bajty vyplnené nulami. Treba mať na pamäti, že pre správnosť operácie s veličinami, ktorých znamienko sa berie do úvahy, musia mať oba operandy rovnaký formát, inak môže dôjsť k skresleniu záporného čísla. Formát operandov v podmienkach makra musí byť rovnaký.

    Nepriamo adresované operandy sú jednobajtové operandy. Viacbajtové operácie s nepriamym adresovaním vyžadujú konverziu ich formátu. Ak to chcete urobiť, musíte k záznamu pridať dvojbodku a deklaráciu formátu, napríklad:

    #hAB3E->[Y]:Slovo

    takýto príkaz makra sa skonvertuje na nasledujúcu postupnosť príkazov:

    Vo viacbajtových makrooperátoroch, s výnimkou posunov doprava, akcie začínajú od spodného bajtu (v operátoroch posunu vpravo od horného bajtu). Vzhľadom na to existujú obmedzenia na možnosť vytvárať operácie makier s nepriamym adresovaním:

    Pre operácie, ktoré začínajú od dolného bajtu, nie je možné použiť vopred dekrementované operandy, napríklad: [--X]:Word+24000

    Pre operácie, ktoré začínajú od vysokého bajtu (pravé posuny), nie je možné použiť operandy po prírastku, napríklad: :Int24>>

    Okrem toho nie je možné vytvoriť viacbajtový makrooperátor s operandom [X], pretože v inštrukčnej sade AVR neexistuje žiadne nepriame adresovanie offsetu pre register X (

    ). Použite alebo [--X].

    Ak nie je možné vytvoriť operáciu makra, kompilátor zobrazí správu: „

    Takáto makrooperácia sa nedá vytvoriť“ („Takúto makrooperáciu nie je možné implementovať“).

    Príkazy makier sa píšu výlučne v objektoch „Field“. Šablóny možných makrooperátorov sú uvedené v tabuľke:

    Komentár k šablóne

    * -> * Kopírovať

    * + * Aritmetické sčítanie

    * - * Aritmetické odčítanie

    * & * Bitová operácia AND

    * ! * Bitová operácia OR

    * ^ * Bitová operácia „Exclusive OR“.

    * Resetovať (zapísať nulu)

    * ++ Prírastok

    * -- Znížiť

    - * - Bitová inverzia

    * >> Logický posun doprava

    > * >> Logický posun doprava s prenášaním

    ± * >> Aritmetický posun doprava

    << * Логический сдвиг влево

    << * < Логический сдвиг влево с переносом

    Pri použití operandov patriacich do EEPROM kompilátor automaticky nahrá potrebný kód na čítanie a zápis do nej. Treba mať na pamäti, že ak sa vykoná zápis do EEPROM, kód zahŕňa čakanie na koniec zápisu. Pri práci to bude trvať niekoľko milisekúnd.

    Pri kompilácii sa príkazy makier prevedú na sadu základných inštrukcií mikrokontroléra. V tomto prípade sa na implementáciu takejto množiny spravidla používajú sprostredkujúce registre r16 a r17. Preto sa pri používaní makrooperátorov, aby sa predišlo nedorozumeniam, neodporúča používať tieto registre a pri rutinách obsluhy prerušení je vhodné najskôr uložiť ich obsah do zásobníka.

    Ak makrooperátor zahŕňa operáciu s okamžitou konštantou, potom je v tomto prípade vhodnejšie použiť pracovné registre deklarované v hornej polovici. V opačnom prípade sa na načítanie častí konštanty do registra r16 použijú prechodné inštrukcie. To môže viesť k zvýšeniu veľkosti kódu až na dvojnásobok, hoci takéto zadanie nebude chybné.

    Treba mať na pamäti, že príznaky vyvolané makrooperáciami sú neadekvátne pre podobné operácie na úrovni základných operácií mikrokontroléra a ich použitie pre prechodové podmienky bude nesprávne.

    Na implementáciu cyklov je vhodné použiť makro podmienku: „R--“. Zahŕňa dekrementáciu jednobajtového registra a vetvenie, ak je výsledok nenulový.

    Objekt „Štítok“ – (štítok)

    Je to zvislý ťah umiestnený vo vnútri bloku príkazov a voliteľný názov umiestnený vľavo alebo vpravo od ťahu. Označenie je určené na označenie miest v algoritme, kde sú možné podmienené a nepodmienené prechody. Ak ho chcete zadať, musíte buď vybrať položku ponuky „Object\Label“, alebo stlačiť klávesy „Alt+L“, alebo kliknúť na tlačidlo s písmenom L na paneli nástrojov. V prípade potreby je možné k štítku priradiť špecifickú adresu programu, pred názov (ak existuje) musíte napísať konštantu alebo algebraický výraz, ktorý túto adresu definuje. Ak chcete zmeniť umiestnenie názvu štítku, stlačte kláves „Tab“.

    Servisné značky prerušenia.

    Na uľahčenie programovania Algorithm Builder podporuje špeciálny typ štítkov - štítky prerušenia. Na obsluhu prerušenia zvyčajným spôsobom je potrebné umiestniť kód nepodmieneného skoku do zodpovedajúceho podprogramu na adresu vektora prerušenia. Pri použití špeciálneho druhu štítkov to všetko kompilátor robí automaticky. Ak to chcete urobiť, musíte dať štítku (vertexu) štandardný názov prerušenia a označiť ho ako makroformáciu stlačením klávesu „F2“ a názov sa zobrazí tučným písmom. Rovnaký výsledok možno jednoduchšie získať výberom položky ponuky „Objects\Interrupt vectors\...“.

    Keď kompilátor narazí na aspoň jedno takéto označenie, vyplní voľný priestor vektorov prerušenia návratovým kódom z rutiny služby prerušenia („RETI“) a na zodpovedajúcu adresu prerušenia umiestni kód na bezpodmienečný skok na toto štítok.

    Objekt „Vertex“ – (horná časť bloku)

    Svojím zobrazením a účelom je úplne identická so značkou, no na rozdiel od nej udáva umiestnenie bloku na pracovnej rovine a je vždy jeho začiatkom. Ak chcete vytvoriť vrchol, musíte buď vybrať položku ponuky „Object\Vertex“, alebo stlačiť klávesy „Alt+V“, alebo kliknúť na tlačidlo s písmenom V na paneli nástrojov, alebo použiť myš kliknutím ľavým tlačidlom myši. tlačidlo na požadovanom mieste v poli v kombinácii s klávesmi “

    Alt + Ctrl + Shift."

    Objekt „Podmienka“ – (podmienený skok)

    Štrukturálne najkomplexnejšie. Objekt je určený na realizáciu podmienených prechodov. Ide o oválny obrys, do ktorého je zapísaná prechodová podmienka a prípadný vektor vo forme prerušovanej čiary so šípkou na konci, vedľa ktorej je voliteľný názov vektora. Aby bol vektor správne adresovaný, jeho koniec musí končiť buď na štítku, alebo vrchole, alebo na segmente iného vektora, alebo musí mať názov adresovaného štítku.

    Úprava vektorov sa vykonáva buď pomocou smerových kláves v kombinácii s klávesom „Alt“, alebo pomocou myši so stlačeným ľavým tlačidlom, tiež v kombinácii s klávesom „Alt“. Ak chcete prejsť od úpravy podmienky k úprave názvu vektora a následnej zmene jeho umiestnenia na opačnú stranu, stlačte kláves „Tab“. Ak chcete zadať nový objekt, musíte buď vybrať položku ponuky „Object\Condition“, alebo stlačiť klávesy „Alt+C“, alebo kliknúť na tlačidlo s písmenom C na paneli nástrojov.

    Podmienené preskočenie operátorov ďalšieho príkazu.

    Pre objekt „Stav“ existujú tri možné možnosti návrhu:

    1. Chýba vektor objektu a názov vektora buď chýba, alebo obsahuje rezervované slovo „Preskočiť“. V nasledujúcich príkladoch sa operácia vykonáva:

    „[X]->r2“ sa preskočí, ak je podmienka „r1=r2“ pravdivá.

    „[X]->r2“

    2. Zapíše sa inverzná podmienka, chýba vektor a ako názov vektora sa zadá inštrukcia, ktorá sa má preskočiť. V tomto prípade bude objekt interpretovaný ako: vykonajte príkaz, ak je podmienka pravdivá. Nasledujúce príklady sú úplne identické.

    „[X]->r2“

    3. Ak je následnou inštrukciou krátky nepodmienený skok (RJMP), je dovolené zapísať inverznú podmienku a vektor tejto podmienky bude interpretovaný ako následný nepodmienený skok, takže objekt bude interpretovaný ako: urobte krátky bezpodmienečný skok, ak je podmienka splnená. Nižšie sú uvedené tri úplne identické príklady.

    R1=R2 šípka k čiare, kam musíte ísť

    Ladiace prostredie AVR STUDIO.

    Vývojové prostredie ladiacich aplikácií pre mikrokontroléry rodiny AVR obsahuje:

    • Prekladač zostáv (Makroassembler Atmel AVR)
    • Debugger
    • Softvér najvyššej úrovne na podporu programovania v systéme (ISP)

    Ladiace prostredie podporuje vykonávanie programov ako vo forme textu zostavy, tak aj vo forme zdrojového textu jazyka C Ladiace prostredie AVR podporuje všetky typy mikrokontrolérov AVR a má dva prevádzkové režimy:

    • režim softvérovej simulácie
    • režim ovládania pre rôzne typy obvodových emulátorov Atmel (In Circuit Emulators)

    Používateľské rozhranie sa pri výbere medzi režimami ladenia nemení.

    Ladiace prostredie AVR STUDIO umožňuje ladiť aplikácie pomocou zabudovaného softvérového simulátora alebo externého in-circuit emulátora Po spustení sa automaticky zistí prítomnosť emulátora na jednom zo sériových portov počítača. Ak sa zistí emulátor, vyberie sa základný systém ladenia. Ak emulátor neexistuje, ladenie sa vykoná na zabudovanom softvérovom simulátore AVR.

    In-circuit emulátor vám umožňuje ladiť aplikáciu priamo na hotovom produkte. Pri práci v reálnom čase je ladenie na emulátore rýchlejšie ako v softvérovom simulátore. informácie o aktuálnom režime ladenia sa zobrazujú v stavovom riadku AVR STUDIO

    AVR STUDIO poskytuje dva príkazy režimu krok za krokom na ladenie programov: Krok cez a Trace do Rozdiel medzi nimi je, že príkaz Krok cez nefunguje v podprogramoch.

    Na sledovanie činnosti programu je k dispozícii režim otvárania niekoľkých okien pomocou ponuky Zobraziť alebo tlačidiel na paneli nástrojov.

    Prostredie ladenia nepodporuje nasledujúce režimy a uzly MK

    • analógovo-digitálny prevodník
    • analógový komparátor
    • režim hodín reálneho času
    • režim nízkej spotreby

    Pre hardvérovú podporu AVR STUDIO použite

    • štartovacie a špecializované vývojové súpravy
    • obvodových programátorov
    • obvodové emulátory

    Počas ladenia môžete inicializovať internú RAM a EEPROM (v prekladovom súbore vo formáte .EEP) alebo uložiť ich obsah vo formáte .HEX Použite na to položku Up/Download Memory v menu File

    Cez menu Súbor môžete otvárať firmvér vytvorený inými používateľmi Otvárať, tlačiť napísané programy Tlačiť, kontrolovať stav zariadení pripojených k sériovému portu Nastavenie COM portu.

    Ponuka Nástroj obsahuje príkazy na spustenie ovládacích programov

    Ponuka Zobraziť obsahuje prehliadače:

    • Programujte pamäťové bunky
    • okno dátovej pamäte Dáta
    • Okno EEPROM Eeprom
    • registruje okno vstupných/výstupných portov nový IO
    • priebeh vykonávania programu Okno pamäte
    • sledovanie zmien v premenných Watch
    • zobrazenie stavu programového počítadla, ukazovateľ zásobníka na obsah stavového registra SREG a indexových registrov X, Y a Z aktuálneho času vykonávania programu taktovania jadra mikrokontroléra Okno procesora
    • zobrazenie stavu registrov Registre (Ak sa počas vykonávania programu v nasledujúcom cykle zmení hodnota niektorého registra, potom sa tento register zvýrazní červenou farbou. Navyše, ak v ďalšom cykle zostane hodnota registra rovnaká, farba zvýraznenie bude odstránené. Podobná kontrola nad zmenami sa použije vo vstupnej/výstupnej pamäti a premenných.)
    • monitorovanie stavu I/O okna periférnych zariadení

    Ponuka Úpravy je podobná štandardnému textovému editoru.

    Ponuka Windows umožňuje upraviť umiestnenie otváraných okien

    Pomocník obsahuje referenčné informácie v angličtine

    project vám umožňuje otvárať a vytvárať nové projekty a ukladať ich obsah

    Ponuka ladenia vám to umožňuje

    breakpoint riadi výber bodov prerušenia

    Trace& triggers vykoná sledovanie

    Možnosť umožňuje simulovať alebo emulovať program

    Vytvorenie programu

    Otvorte AVR studio 3.56

    Otvorte ponuku nového projektu v ponuke projektu v zobrazenom okne vytvorenia nového projektu a do riadku s názvom projektu zadajte názov projektu. Rovnaký názov sa automaticky skopíruje do úvodného okna súboru

    Pre určenie priečinka, v ktorom bude projekt umiestnený, kliknite na tlačidlo.... Napravo od okna umiestnenia v okne výberu priečinka, ktoré sa otvorí, musíte do riadku aktuálneho priečinka napísať názov priečinka. A kliknite na vybrať a vrátite sa do okna vytvorenia nového projektu

    Potom vyberte typ projektu Atmel AVR Assembler à Ďalej à vyberte platformu deug a zariadenie à platformu ladenia à avr Simulátor v okne zariadenia typ mikrokontroléra, ak je frekvencia vyššia, zobrazí sa správa

    Tým aktivujeme okno assembleru s projektom

    Symbol ". „smernica pre montážnikov

    ";" komentáre, ktoré nemajú vplyv na fungovanie programu

    F2 vyhľadávanie značiek príkazov v programe

    Ctrl + F2 nastaví značky ladiaceho nástroja

    F7 zostavenie programu a uloženie vo formáte. hex

    F11 ladenie otvoreného pracovného priestoru

    Shift + F5 – Resetovať reset

    Ctrl + F5 - Prerušte zastavenie ladenia

    F9 – nastavenie označenia bodu prerušenia

    F5 – spustenie programu do bodu prerušenia

    Ctrl + F10 prepne na vykonanie príkazu označeného kurzorom

    Vysielanie a kontrola pravopisu.

    Project à Assembleà Project Output Toto okno obsahuje informácie o počte slov kódu a údaje o prítomnosti chýb a ďalšie informácie. Ak chcete lokalizovať chyby, umiestnite kurzor myši na správu a dvakrát kliknite ľavým tlačidlom myši. V dôsledku toho sa kurzor umiestni na riadok, ktorý spôsobil chybové hlásenie a tento riadok bude farebne zvýraznený. Ak zdrojový text zostavy obsahoval segment stálych údajov, potom sa počas prekladu vytvorí súbor s rozlíšením .eer. Tento súbor obsahuje dáta pre internú EEPROM MK a má rovnaký formát ako výstupný súbor.

    Výsledkom prekladu je výstupný súbor

    Ladenie projektu

    Na ladenie je potrebný objektový súbor

    Ladiaci nástroj sa spustí prostredníctvom postupu

    Zostavte a spustite na ovládacom paneli

    Najprv sa preloží vstupný súbor zostavy, čím sa vygeneruje objektový súbor a potom sa objektový súbor umiestni do debuggera.

    Pre staršie verzie existuje možnosť preložiť objektový súbor do, pri tejto možnosti nemôžete upravovať zdrojový súbor programu priamo v debuggeri

    Ak chcete vygenerovať objektový súbor, musíte zadať formát výstupného súboru prekladača

    Pri prvom spustení ladiaceho programu vyberte v okne Option à Simulator Option typ zariadenia mikrokontroléra a frekvenciu frekvencie jadra procesora

    Počas ladenia je možné program spustiť

    Úplne odladiť àavto krok

    V režime krok za krokom ladenie àtrace

    Sledovanie funkčných blokov ladenia àmulti step

    Do bodu označeného ladením kurzora à Spustiť na kurzor

    Podľa bodov prerušenia body zlomu à prepnúť Bod zlomu

    Na ladenie krok za krokom použite príkazy

    Ster Over (nefunguje v podprogramoch) a traste do

    Program sa zobrazuje v ponuke Zobraziť, registre, periférne zariadenia v okne I/O Windows

    Prednáška 15 programátorov Programátor XXX prog

    Programátor podporuje nasledujúce formáty súborov:

    Štandardné/rozšírené Intel HEX

    Sú určené na programovanie:

    · pamäťové čipy,

    · interná EPROM mikrokontrolérov,

    · programovateľné logické čipy (len pre ChipProg+, MultiProg).

    Programátor je navrhnutý tak, aby spolupracoval s počítačom kompatibilným s IBM PC. Komunikácia s počítačom prebieha cez štandardný port tlačiarne.

    Ako používať programátor:

    · Odstráňte mikroobvod z bloku programátora (ak bol

    nainštalovaný).

    · Pripojte programátor k sieti 220V AC.

    Pre MultiProg zapnite vypínač na tele programátora

    výživa. Zelená LED by sa mala rozsvietiť, čo indikuje napájanie.

    napájanie programátora.

    Pripojte programátor k štandardnému portu tlačiarne

    počítač pomocou komunikačného kábla, ktorý je súčasťou dodávky

    programátor

    · Spustite na svojom počítači podporný softvér xxxProg.

    · V softvérovej podpore nastavte požadovaný typ mikroobvodu.

    · Nainštalujte mikroobvod do zásuvky programátora (mikroobvod

    inštalované v zásuvke v súlade s výkresom na puzdre

    programátor).

    · Vykonajte potrebné činnosti s mikroobvodom. Ak v

    Počas práce s mikroobvodom sa telo programátora rozsvieti na červeno

    Na obrazovke počítača sa zobrazí LED "ALARM" a varovná správa

    správa o vypnutí prúdového ochranného obvodu, to znamená, že

    mikroobvod je chybný.

    · Pred vypnutím programátora alebo zmenou typu čipu

    je potrebné vybrať mikroobvod zo zásuvky.

    · Vypnite napájanie programátora.

    · Odpojte programátor od počítača.

    Komunikačné rozhranie programátor-počítač je navrhnuté tak, aby nielen minimalizovalo zaťaženie portu počítača, ale umožnilo aj prepínanie medzi programátorom a počítačom v ľubovoľnom poradí.

    Pokiaľ ide o interakciu s mikroobvodmi, softvér xxxProg je zostavený podľa klasickej schémy programátora „súbor“ - „vyrovnávacia pamäť“ - „čip“. Pamäťové vyrovnávacie pamäte sú implementované v softvérovej podpore programátora. Pamäťová vyrovnávacia pamäť je medzičlánkom medzi súborom a čipom:

    Súbor<---->Buffer<---->Čip

    Jedným z hlavných prvkov programátora sú vyrovnávacie pamäte. Pamäťová vyrovnávacia pamäť je objekt určený na ukladanie údajov. Pamäťová vyrovnávacia pamäť programátora je medzičlánkom medzi súborom a čipom.

    xxxProg implementuje flexibilnú štruktúru vyrovnávacej pamäte:

    · je možné vytvárať nekonečné množstvo aktívnych vyrovnávacích pamätí.

    Limitom množstva môže byť len nedostatok voľného

    pamäte v systéme.

    Každý tlmivý roztok obsahuje určité množstvo

    podvrstvy Každá podvrstva je spojená so špecifickým adresným priestorom

    inštalovaný mikroobvod.

    Napríklad,

    - pre čip Intel 87C51FA obsahuje každá vyrovnávacia pamäť

    dve podvrstvy: podvrstva pamäte kódu a podvrstva tabuľky kódu

    (šifrovacia tabuľka);

    - pre čip Microchip PIC16F84 má každá vyrovnávacia pamäť svoju vlastnú

    pozostáva z troch podvrstiev: podvrstva pamäte kódu, podvrstva pamäte údajov

    EEPROM, podvrstva identifikátora používateľa.

    · je povolené mať neobmedzený počet okien

    obsah každého pufra.

    Táto flexibilná implementácia systému vyrovnávacej pamäte umožňuje používateľovi veľmi jednoducho manipulovať s niekoľkými rôznymi súbormi údajov ich umiestnením do rôznych vyrovnávacích pamätí. Všetky operácie so súbormi (načítanie/uloženie súboru) interagujú iba s vyrovnávacou pamäťou. Tie. môžete načítať súbor do vyrovnávacej pamäte a tiež uložiť obsah vyrovnávacej pamäte do súboru. Interakcia s mikroobvodom je konštruovaná podobným spôsobom. Všetky manipulácie s čipom (ako čítanie, zápis, porovnávanie) využívajú iba vyrovnávaciu pamäť. Čip teda môžete čítať do vyrovnávacej pamäte, zapisovať obsah vyrovnávacej pamäte do čipu, porovnávať obsah vyrovnávacej pamäte a čipu atď. Priama interakcia medzi súborom a čipom nie je povolená.

    Programátor implementuje systém výkonnostných testov, ktorý umožňuje identifikovať poruchy hardvéru už v štádiu inicializácie a tým predchádzať prípadnému zlyhaniu užívateľských mikroobvodov.

    Testovací systém je rozdelený do dvoch skupín:

    · testovanie kvality komunikácie so zariadením programátora, zahŕňa len testovanie kvality komunikácie so zariadením programátora.

    · úplné testovanie všetkého hardvéru programátora Zahŕňa úplné testovanie všetkého hardvéru programátora. Spustí sa ihneď po skončení prvej skupiny testov. Pri vykonávaní úplného testovania sa na testovacom bloku DIP programátora objavia rôzne testovacie signály, ktoré môžu poškodiť mikroobvody v ňom nainštalované. Používateľ bude preto pred aktiváciou testu upozornený na nutnosť vybratia čipu z bloku.

    Ak testovací systém zistí poruchu hardvéru, používateľ bude na incident upozornený a ďalšia práca s programátorom nebude možná.

    Pokračovanie v téme:
    OS

    Nižšie sú uvedené hlavné objekty 1C, ktoré sa používajú pri práci so spravovanými formulármi. Stručné príklady kódu sú uvedené na demonštráciu tradičného používania údajov...