Rozdeleni .ino do Modulu

Wiring, C++, C, Java, ...
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Odpovědět
bvk
Příspěvky: 3
Registrován: 25 čer 2020, 13:09
Reputation: 0

Rozdeleni .ino do Modulu

Příspěvek od bvk » 25 čer 2020, 13:18

zkousel jsem rozdelit tento priklad do modulu.
z:
https://arduino.cz/uzivatelsky-definovane-funkce-2/

.ino file, .h file a .c file (pripadne cpp).

nejde mi to, je nekde vhodny odkaz, jak na to?


void setup() {
Serial.begin(9600);
Serial.println(secti(10,11));
}

void loop(){
}

int secti(int a, int b){
int soucet = a + b;
return soucet;
}

commar
Příspěvky: 31
Registrován: 26 úno 2019, 15:20
Reputation: 0

Re: Rozdeleni .ino do Modulu

Příspěvek od commar » 25 čer 2020, 14:09


Uživatelský avatar
kiRRow
Příspěvky: 1163
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Rozdeleni .ino do Modulu

Příspěvek od kiRRow » 25 čer 2020, 16:09

sketch.ino

Kód: Vybrat vše

#include "knihovna.h"

void setup() {
	Serial.begin(9600);
	Serial.println(secti(10,11));
}

void loop(){
}
knihovna.h

Kód: Vybrat vše

int secti(int a, int b){
	int soucet = a + b;
	return soucet;
}

bvk
Příspěvky: 3
Registrován: 25 čer 2020, 13:09
Reputation: 0

Re: Rozdeleni .ino do Modulu

Příspěvek od bvk » 26 čer 2020, 07:49

@commar
ano myslim tohle,
https://arduino.stackexchange.com/quest ... ame-sketch


ale to mi nefunguje

bvk
Příspěvky: 3
Registrován: 25 čer 2020, 13:09
Reputation: 0

Re: Rozdeleni .ino do Modulu

Příspěvek od bvk » 26 čer 2020, 08:30

reseni je zde
od kiRRow » 06 dub 2020, 16:18
u me blba chyba
ulozeno jako c (spravne cpp), ach jo...

Bart_
Příspěvky: 18
Registrován: 06 srp 2019, 23:24
Reputation: 0

Re: Rozdeleni .ino do Modulu

Příspěvek od Bart_ » 26 srp 2020, 10:01

Abych si to ujasnil, soubor s příponou .cpp je pouze jeden, zbytek souborů má příponu .h?

Takže pokud mám projekt, ve kterém je více než jeden soubor .ino, tak ten který se jmenuje stejně, jako složka ve který je uložen má příponu .cpp a zbytek souborů .ino by měl mít příponu .h? Volají se na začátku programu?

Díky!

Uživatelský avatar
kiRRow
Příspěvky: 1163
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Rozdeleni .ino do Modulu

Příspěvek od kiRRow » 26 srp 2020, 16:21

Soubor *.h je hlavičkový ... tzv header file. Jsou v něm konstanty, proměnné a definice funkcí, které potom používají další soubory *.cpp do kterých se tento hlavičkový soubor vkládá. Ty pak do hlavního ino souboru vložíš hlavičkový soubor, kompilátor bude automaticky hledat soubor o stejném názvu a koncovce *.cpp
Soubor *.cpp (cpp = c++) potom obsahuje deklarace funkcí.

Rozdíl mezi definicí a deklarací je, že definice říká, hele ... tady bude funkce jmenem necoUdelej a bude mít dva vstupní parametry. Jeden bude byte a druhý int. A bude vracet boolean. Nic víc. Deklarace pak říká, co přesně ta funkce bude dělat až ji zavoláš.

mart-in
Příspěvky: 16
Registrován: 27 kvě 2020, 21:43
Reputation: 0

Re: Rozdeleni .ino do Modulu

Příspěvek od mart-in » 26 srp 2020, 19:47

kiRRow píše:
26 srp 2020, 16:21
Rozdíl mezi definicí a deklarací je, že definice říká, hele ... tady bude funkce jmenem necoUdelej a bude mít dva vstupní parametry. Jeden bude byte a druhý int. A bude vracet boolean. Nic víc. Deklarace pak říká, co přesně ta funkce bude dělat až ji zavoláš.
Je to tak, akorát přesně naopak :D

KamilV
Příspěvky: 479
Registrován: 03 dub 2018, 15:27
Reputation: 0
Bydliště: Olomouc

Re: Rozdeleni .ino do Modulu

Příspěvek od KamilV » 26 srp 2020, 19:56

Ano, kiRRow to vysvětlil srozumitelně, jen zaměnil významy deklarace a definice.
Funkce je v hlavičkovém souboru deklarována (název, návratová hodnota a případně její argumenty) a v cpp souboru je definována (její tělo, co přesně bude funkce dělat).

Uživatelský avatar
kiRRow
Příspěvky: 1163
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

Re: Rozdeleni .ino do Modulu

Příspěvek od kiRRow » 27 srp 2020, 06:41

Omlouvám se ... jak se daří, tak se daří no.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů