Vaša IP adresa: 3.135.212.251
Počet návštev: 42590

Začíname programovať

V tejto časti sa dozviete ako si nastaviť Microchip Studio, aby ste mohli začať programovať vývojovú dosku Angry Bear Board (ABB) cez konektor USB. Ak Microchip Studio ešte nemáte, môžete si ho stiahnuť tu. Microchip Studio sa pôvodne volalo Atmel Studio a k premenovaniu došlo po odkúpení spoločnosti Atmel spoločnosťou Microchip. Preto môžete používať aj Atmel Studio 7, ak nemáte k dispozícii Microchip Studio. Prístup k starším verziám Atmel Studia nájdete tu.

angry_bear_top_banner
Ak už programovanie v Microchip Studiu nastavené máte a ovládate postup nahrávania programu do MCU, môžete hneď prejsť na lekciu č. 1:

Tento návod Vás ďalej prevedie vytvorením jednoduchého programu, jeho nahratím do mikrokontroléra a overením správnosti nastavení.

Nastavenie programovania cez USB-C

Pred aplikáciou nasledujúcich krokov je nutné mať nainštalované:
  • Microchip Studio resp. Atmel Studio 7 a program Avrdude (stačia súbory avrdude.exe a avrdude.conf, ktoré si môžete stiahnuť tu). V bode č. 3 tohto návodu prepokladáme, že súbory avrdude.exe a avrdude.conf umiestnite do C:\Avrdude\.
  • Poznámka: Ak máte nainštalované Arduino IDE, tak program Avrdude už máte, pretože je súčasťou Arduino IDE a nemusíte sťahovať horeuvedené súbory.
1. Zistite k akému portu máte pripojenú vývojovú dosku ABB:
  • Pripojte vývojovú dosku ABB cez USB kábel k počítaču,
  • Vo Windows spustite Správcu zariadení (Klávesa a začnite písať: Správca zariadení),
  • v Správcovi zariadení nájdite Porty (COM a LPT) a USB Serial Port, v zátvorke je uvedený názov portu. Na obrázku nižšie je názov portu COM10.
  • COM port

2. Spustite Microchip (Atmel) Studio IDE.

Microchip Studio IDE
Atmel Studio IDE

3. Z menu programu vyberte Tools -> External Tools…

External Tools Menu

4. Do okna External Tools zadajte nasledovné:

External Tools
  • Title:

    Angry Bear Board

  • Command:
    Zadajte cestu k avrdude.exe. Ak ste uložili avrdude.exe do C:\Avrdude\, použite nasledovný zápis:

    C:\Avrdude\avrdude.exe

    Ak máte nainštalované Arduino IDE, tak sa avrdude.exe nachádza v programových súboroch (Program Files):

    C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe

    Je uvedená štandardná cesta k avrdude.exe. Skontrolujte cestu a umiestenie súboru avrdude.exe.

  • Arguments:
    Ak ste uložili avrdude.conf do C:\Avrdude\, použite nasledovný zápis:

    -C"c:\Avrdude\avrdude.conf" -v -patmega328p -carduino -PCOM10 -b250000 -D -Uflash:w:"$(ProjectDir)Debug\$(TargetName).hex":i

    Ak máte nainštalované Arduino IDE, použite nasledovný zápis a skontrolujte, či zadaná cesta k avrdude.conf naozaj existuje:

    -C"c:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -v -patmega328p -carduino -PCOM10 -b250000 -D -Uflash:w:"$(ProjectDir)Debug\$(TargetName).hex":i

    Upozornenie: Môžete meniť iba časti textu vyznačené modrou, t.j. cestu k avrdude.conf a COM port, ku ktorému je pripojená doska ABB (pozri bod č. 1).

    Význam argumentov (v angličtine):
    -C<Path_to_avrdude.conf> – a path to avrdude.conf, you can find this file in Arduino IDE’s installation directory. Ensure you enter the path in quotes in case there are any spaces in your path.
    -p<part number> – AVR processor model
    -c<programmer type> – programmer type being used to program the board
    -P<port> – COM port you should have noted in stage 2
    -b<baud rate> – baud rate for the programmer.
    -D – disables auto erase for flash memory (required for wiring programmer used with Arduino Mega 2560)
    -U<memorytype>:<operation>:<path to HEX file>:<format> – this is where you should leverage Atmel Studio’s variables to always point to freshly complied and generated HEX file. List of variables and their descriptions can be found at Atmel’s help page.


  • Zaškrtnite políčko Use Output Window a kliknite na OK.

Prvý program

Vytvoríme si jednoduchý program slúžiaci na overenie správnosti nastavení, ktoré boli uvedené vyššie. Program bude blikať LED diódou LED0 s frekvenciou 1 Hz, t.j. dióda bude svietiť 0,5s a rovnaký čas bude zhasnutá.

#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>

#define LED PORTB0

int main(void)
{
DDRB=(1<<LED);//LED na PB0 ako výstup
while (1)
{
PORTB|=(1<<LED);//rozsvietenie LED
_delay_ms(500);//pauza 0,5s
PORTB&=~(1<<LED);//zhasnutie LED
_delay_ms(500);//pauza 0,5s
}
}

Nahrávanie programu

Pred nahrávaním programu je potrebné program najprv skompilovať. Skompilujte program výberom z menu: Build -> Build Solution alebo stlačte tlačidlo F7. Skontrolujte výstup:

Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========

Nahrajte program výberom z menu: Tools -> Angry Bear Board

ABB programovanie

Skontrolujte výstup:

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude.exe: Device signature = 0x1e950f (probably m328p)
avrdude.exe: safemode: lfuse reads as 0
avrdude.exe: safemode: hfuse reads as 0
avrdude.exe: safemode: efuse reads as 0
avrdude.exe: reading input file "C:\Users\...\LED_blink.hex"
avrdude.exe: writing flash (186 bytes):

Writing | ################################################## | 100% 0.06s

avrdude.exe: 186 bytes of flash written
avrdude.exe: verifying flash memory against C:\Users\...\LED_blink.hex:
avrdude.exe: load data flash data from input file C:\Users\...\LED_blink.hex:
avrdude.exe: input file C:\Users\...\LED_blink.hex contains 186 bytes
avrdude.exe: reading on-chip flash data:
Reading | ################################################## | 100% 0.07s

avrdude.exe: verifying ...
avrdude.exe: 186 bytes of flash verified

avrdude.exe: safemode: lfuse reads as 0
avrdude.exe: safemode: hfuse reads as 0
avrdude.exe: safemode: efuse reads as 0
avrdude.exe: safemode: Fuses OK (E:00, H:00, L:00)

avrdude.exe done. Thank you.

Žiadne komentáre

Comments are closed

The comments for this content are closed.

O BB Pages

Web BB Pages je určený pre všetkých, ktorí sa zaujímajú o elektroniku a programovanie mikrokontrolérov. Web môže slúžiť ako výučbová platfoma pre programovanie mikrokontrolérov z rodiny AVR (napr. ATmega328P) v jazyku C.

Verím, že Vás web BB Pages zaujme a pomôže Vám zorientovať sa vo svete programovania mikrokontrolérov a elektroniky.

Autor webu: Branko Babušiak

Projekt Angry Bear

angry_bear_white.png
Výučbová platforma pre programovanie MCU v jazyku C. Platforma zahŕňa vývojovú dosku a výučbové lekcie, ktoré Vás postupne naučia programovať MCU v jazyku C. Navštívte stránku Angry Bear projekt.

Kontakt

kontakt@bbpages.eu