2 různé programy spouštěné na základě stavu pinu
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
-
- Příspěvky: 8
- Registrován: 29 pro 2018, 14:59
- Reputation: 0
2 různé programy spouštěné na základě stavu pinu
Dobrý den,
bohužel neovládám programování a potřeboval bych poradit jak vyřešit tento problém.
Mám na arduino mega 2560 2 různé programy od dvou různých autorů a každý je ještě kevšemu psán odlišně.
oba programy jsem si upravil pouze tak aby mi měželi na stejném HW. Upravoval jsem pouze zapojení pinů, displej a podobně.
Chtel bych aby když zapnu arduino tak aby se spustil buť jeden program nebo druhý na základě stavu pinu č. 52 nebo pinu č.53
Pokud se na pinu 52 objeví +5V spustí se program 1
Pokud se na pinu 53 objeví +5V spustí se program 2
nové spuštění programu vždy až po opetovném zapnutí arduina na základě stavu pinu 53 nebo 53
vůbec netuším jak to udělat aby to fungovalo.
dokázal by jste mi někdo poradit nebo pomoct?
v příloze prikládám oba dva programy
předem děkuji za jakoukoliv pomoc
bohužel neovládám programování a potřeboval bych poradit jak vyřešit tento problém.
Mám na arduino mega 2560 2 různé programy od dvou různých autorů a každý je ještě kevšemu psán odlišně.
oba programy jsem si upravil pouze tak aby mi měželi na stejném HW. Upravoval jsem pouze zapojení pinů, displej a podobně.
Chtel bych aby když zapnu arduino tak aby se spustil buť jeden program nebo druhý na základě stavu pinu č. 52 nebo pinu č.53
Pokud se na pinu 52 objeví +5V spustí se program 1
Pokud se na pinu 53 objeví +5V spustí se program 2
nové spuštění programu vždy až po opetovném zapnutí arduina na základě stavu pinu 53 nebo 53
vůbec netuším jak to udělat aby to fungovalo.
dokázal by jste mi někdo poradit nebo pomoct?
v příloze prikládám oba dva programy
předem děkuji za jakoukoliv pomoc
- Přílohy
-
- Dummies_Rotary_Table_Eprom_2018uno_beta2.ino
- (12.06 KiB) Staženo 127 x
-
- Digital_Feed_2e.ino
- (16.61 KiB) Staženo 128 x
Re: 2 různé programy spouštěné na základě stavu pinu
V podstatě je potřeba oba programy spojit. tzn dát dohromady definice proměnných atd na začátku programu. Vytvořit si proměnnou, která bude určovat, která část programu se spustí a hned na začátku si přečíst stav vstupů. Podle toho nastavit proměnnou a jak v setupu, tak v loopu spustit příslušný program.
Program 1(2):
Oba programy:
Program 1(2):
Kód: Vybrat vše
#define necoProProgram1
int promenaPR1;
bool promennaPR1;
void setup(){
//vse pro program 1
}
void loop(){
//logika programu1
}
void FceProPrg1(){
//neco
}
Kód: Vybrat vše
#define necoProProgram1
int promenaPR1;
bool promennaPR1;
#define necoProProgram2
int promenaPR2;
bool promennaPR2;
bool jakyProgramSeMaSpustit;
void setup(){
jakyProgramSeMaSpustit = digitalRead(53);
if(jakyProgramSeMaSpustit){
//vse pro program 1
}
else{
//vse pro program 2
}
}
void loop(){
if(jakyProgramSeMaSpustit){
//logika programu 1
}
else{
//logika programu 2
}
}
void FceProPrg1(){
//neco
}
void FceProPrg2(){
//neco
}
-
- Příspěvky: 8
- Registrován: 29 pro 2018, 14:59
- Reputation: 0
Re: 2 různé programy spouštěné na základě stavu pinu
Ano myslím že teť je mi to jasnější.
Zytra provedu nějaký pokus.
Moc děkuji za pomoc.
Zytra provedu nějaký pokus.
Moc děkuji za pomoc.
-
- Příspěvky: 8
- Registrován: 29 pro 2018, 14:59
- Reputation: 0
Re: 2 různé programy spouštěné na základě stavu pinu
tak jsem se pokusil oba programy spojit ,ale stejně někde dělám chybu a nevým kde.
při kompilaci to píše:
exit status 1
'getdegrees' was not declared in this scope
přitom když kompiluji každý program zvlášť vše je ok.
viz příloha
při kompilaci to píše:
exit status 1
'getdegrees' was not declared in this scope
přitom když kompiluji každý program zvlášť vše je ok.
viz příloha
- Přílohy
-
- jakyprogrammaspustit.ino
- (28.17 KiB) Staženo 138 x
Re: 2 různé programy spouštěné na základě stavu pinu
V bloku "loop()" ti přebývá, nebo chybí jedna složená závorka. Dál jsem to nezkoumal.
-
- Příspěvky: 8
- Registrován: 29 pro 2018, 14:59
- Reputation: 0
Re: 2 různé programy spouštěné na základě stavu pinu
ano, moc děkuji našel jsem to a opravil a posunulo mě to cca do 3/4 programu kde je opet problém
označilo mi to tuto část:
else{
a píše to:
exit status 1
expected unqualified-id before 'else'
Vůbec se v tom nemohu vyznat.
označilo mi to tuto část:
else{
a píše to:
exit status 1
expected unqualified-id before 'else'
Vůbec se v tom nemohu vyznat.
- Přílohy
-
- jakyprogrammaspustit.ino
- (28.17 KiB) Staženo 117 x
Re: 2 různé programy spouštěné na základě stavu pinu
Řekl bych, že to bude zase něco se závorkama.
Když na to kouknu, tak blok, který začíná závorkou na řádce 668 - to je za tím ISR(INT0_vect), končí závorkou na řádce 837.
A za tím hned pokračuje nesmyslné "else", ke kterému chybí "if".
Ten program je ale na mě dost nepřehledný, takže možná bude chyba i někde jinde.
Když na to kouknu, tak blok, který začíná závorkou na řádce 668 - to je za tím ISR(INT0_vect), končí závorkou na řádce 837.
A za tím hned pokračuje nesmyslné "else", ke kterému chybí "if".
Ten program je ale na mě dost nepřehledný, takže možná bude chyba i někde jinde.
- pavel1tu
- Příspěvky: 2054
- Registrován: 26 říj 2017, 08:28
- Reputation: 0
- Bydliště: Trutnov
- Kontaktovat uživatele:
Re: 2 různé programy spouštěné na základě stavu pinu
Srovnat kod,
každá závorka - odsadit kod o tabelator, i kod v zavorce odsadit dle zavorky za kterou je ....
zavorky co patří k sobě musí být jakoby pod sebou ve stejném sloupci ...
pak se v tom možná vyznáme, to za tebe nikdo dělat nebude
každá závorka - odsadit kod o tabelator, i kod v zavorce odsadit dle zavorky za kterou je ....
zavorky co patří k sobě musí být jakoby pod sebou ve stejném sloupci ...
pak se v tom možná vyznáme, to za tebe nikdo dělat nebude
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
-
- Příspěvky: 8
- Registrován: 29 pro 2018, 14:59
- Reputation: 0
Re: 2 různé programy spouštěné na základě stavu pinu
nejhorší je to že jsou to dva různé programy od dvou různých autorů.
poznámky tam byly původně napsané v azbuce tak jsem si je alespoň přeložil přez google a dokázal jsem programy pouze změnou některých parametrů přizpůsobit mému použití. Oba dva jsou samostatně funkční.
Původně byl jeden pro menší arduino a druhý pro megu2560, dyspleje byli jiné a zapojení také jiné, ale to se mi povedlo upravit a odzkoušet.
Chtěl jsem pouze pro zjednodušení a zmenšení použít pouze jedno arduino a 1 displej.
Proto nemohu pochopit že ty programy samostatně fungůjí.
programování mi nejde a moje původní idea byla že to bude jednodužší
poznámky tam byly původně napsané v azbuce tak jsem si je alespoň přeložil přez google a dokázal jsem programy pouze změnou některých parametrů přizpůsobit mému použití. Oba dva jsou samostatně funkční.
Původně byl jeden pro menší arduino a druhý pro megu2560, dyspleje byli jiné a zapojení také jiné, ale to se mi povedlo upravit a odzkoušet.
Chtěl jsem pouze pro zjednodušení a zmenšení použít pouze jedno arduino a 1 displej.
Proto nemohu pochopit že ty programy samostatně fungůjí.
programování mi nejde a moje původní idea byla že to bude jednodužší
-
- Příspěvky: 8
- Registrován: 29 pro 2018, 14:59
- Reputation: 0
Re: 2 různé programy spouštěné na základě stavu pinu
takže jako je to v programu 1?
stejně upravit i program 2
stejně upravit i program 2
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti