Konverze programu Arduina IDE do ATMEL studia 7(6)

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
elnovy
Doporučuje se dohled statného moderátora
Příspěvky: 884
Registrován: 04 črc 2010, 00:00
Bydliště:

Konverze programu Arduina IDE do ATMEL studia 7(6)

#1 Příspěvek od elnovy »

smazáno
Naposledy upravil(a) elnovy dne 28 úno 2020, 22:33, celkem upraveno 1 x.
Můj e-mail: elnovy@email.cz
Bydliště: JČ
Povolání: Vývoj elektroniky+DPS
Zájmy: Programování C++ ,assembler
Uživatelský avatar
elnovy
Doporučuje se dohled statného moderátora
Příspěvky: 884
Registrován: 04 črc 2010, 00:00
Bydliště:

#2 Příspěvek od elnovy »

smazáno
Naposledy upravil(a) elnovy dne 28 úno 2020, 22:33, celkem upraveno 1 x.
Můj e-mail: elnovy@email.cz
Bydliště: JČ
Povolání: Vývoj elektroniky+DPS
Zájmy: Programování C++ ,assembler
Uživatelský avatar
FHonza
Příspěvky: 1443
Registrován: 20 lis 2012, 00:00
Bydliště: Praha

#3 Příspěvek od FHonza »

Arduino Wire se od C++ v Atmel studiu téméř neliší. Rozdíl je pouze v linkeru. V syntaxi jako takové žádný rozdíl není (ostatně je používaný stejný kompilátor). Atmel Studio má přímo import projektu z Arduino IDE. Menu File - Project .. a tam vybrat "Create project from Arduino".

Pro ESPxx samozřejmě v Atmel Studiu nic nevytvoříš.

Edit:
elnovy píše:navíc jsem nenarazil na jeden jedinej program v C++
presentovany na nettu i renomovanymi autory presentovaný ,
ktery by fungoval
= šel přeložit do hexa v atmel studiu


Když správně nastavíš cesty ke knihovnám, tak úprava Arduino programu ve většině případů spočívá v doplnění #include <Arduino.h> a dopsání deklarací funkcí, případně přeházení jejich implementace (samozřejmě kromě přejmenování z ino na cpp).
Uživatelský avatar
elnovy
Doporučuje se dohled statného moderátora
Příspěvky: 884
Registrován: 04 črc 2010, 00:00
Bydliště:

#4 Příspěvek od elnovy »

smazáno
Naposledy upravil(a) elnovy dne 28 úno 2020, 22:34, celkem upraveno 1 x.
Můj e-mail: elnovy@email.cz
Bydliště: JČ
Povolání: Vývoj elektroniky+DPS
Zájmy: Programování C++ ,assembler
Uživatelský avatar
passion
Příspěvky: 890
Registrován: 22 črc 2005, 00:00
Bydliště: Žilina

#5 Příspěvek od passion »

K čomu je dobrý skok "goto NAVESTI1;" ? Program tak či tak bude pokračovať ďalej. Skús to bez neho.
Uživatelský avatar
elnovy
Doporučuje se dohled statného moderátora
Příspěvky: 884
Registrován: 04 črc 2010, 00:00
Bydliště:

#6 Příspěvek od elnovy »

smazáno
Naposledy upravil(a) elnovy dne 28 úno 2020, 22:34, celkem upraveno 1 x.
Můj e-mail: elnovy@email.cz
Bydliště: JČ
Povolání: Vývoj elektroniky+DPS
Zájmy: Programování C++ ,assembler
Uživatelský avatar
passion
Příspěvky: 890
Registrován: 22 črc 2005, 00:00
Bydliště: Žilina

#7 Příspěvek od passion »

Skús nastaviť "328P old bootloader" v nastaveniach procesora.

Kód: Vybrat vše

https://youtu.be/u8rV2abuUgQ
Uživatelský avatar
FHonza
Příspěvky: 1443
Registrován: 20 lis 2012, 00:00
Bydliště: Praha

#8 Příspěvek od FHonza »

passion píše:Skús nastaviť "328P old bootloader" v nastaveniach procesora.

elnovy se ptá na Atmel Studio, ne na Arduino IDE

elnovy píše: nahrávací rychlost se u adruina pro nano nenastavuje ??/!?!?! nikde není rubrika
a volbu portu mám správnou jsem ji kontroloval


Máš v tom velký zmatek. Trochu to zjednoduším, ale v zásadě: Do procesorů rodiny AVR jde nahrát program dvěma způsoby:
•pomocí bootloaderu
•pomocí programátoru (ISP, paralelní vysokonapěťové)

Bootloader je program v procesoru, který se automaticky spustí po restartu. Zjednodušeně by se dalo říct "rezidentní program". Umožňuje nějakým způsobem (nejčastěji pomocí sériového rozhraní) komunikovat a nahrát do procesoru nový program. To je nejčastější způsob v Arduino. Z toho vyplývá že "čistý" procesor takto nenaprogramuješ (není v něm nahraný bootloader). Není mi známo, že by tento způsob podporovalo Atmel studio.

Druhý způsob je pomocí programátoru. Existuje jich celá řada, v cenách od pár desetikorun až po tisíce. O programátorech byla diskuze tady. Pomocí programátoru naprogramuješ jak "čistý" procesor, tak jakoukoli desku Arduino.
Uživatelský avatar
elnovy
Doporučuje se dohled statného moderátora
Příspěvky: 884
Registrován: 04 črc 2010, 00:00
Bydliště:

#9 Příspěvek od elnovy »

smazáno
Naposledy upravil(a) elnovy dne 28 úno 2020, 22:35, celkem upraveno 1 x.
Můj e-mail: elnovy@email.cz
Bydliště: JČ
Povolání: Vývoj elektroniky+DPS
Zájmy: Programování C++ ,assembler
Uživatelský avatar
elnovy
Doporučuje se dohled statného moderátora
Příspěvky: 884
Registrován: 04 črc 2010, 00:00
Bydliště:

#10 Příspěvek od elnovy »

smazáno
Naposledy upravil(a) elnovy dne 28 úno 2020, 22:37, celkem upraveno 1 x.
Můj e-mail: elnovy@email.cz
Bydliště: JČ
Povolání: Vývoj elektroniky+DPS
Zájmy: Programování C++ ,assembler
Uživatelský avatar
FHonza
Příspěvky: 1443
Registrován: 20 lis 2012, 00:00
Bydliště: Praha

#11 Příspěvek od FHonza »

Jak už jsem psal, je použit stejný překladač, takže v tom problém nebude. Prostě je důležité, aby v souboru main.cpp (který vznikne konverzí z *.ino) byly funkce implementovány (případně deklarovány) dřív než jsou použity. To jde ve většině případů udělat pouhým přesunutím funkce ve zdrojovém kódu.

Do hex se nekonvertuje, ale překládá :)
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“