Arduino a já
-
Mex
- Příspěvky: 10287
- Registrován: 6. 2. 2014, 10:29
Tak už konečně napiš, co Ti přesně nefunguje a jak to nefunguje.
Tyhle základní operace čtení a zápisu prostě musí fungovat:
cti=PINB;
PORTB=pis;
Samozřejmě s omezením, že ne všechny piny daného portu jsou na malých procesorech vytažené ven, některé můžeš mít nakonfigurované na alternativní funkci atd. A pochopitelně napřed musíš nastavit příslušný režim, zvlášť v případě výstupu (vstupní je default).
Tak kde sakra vidíš problém?
Tyhle základní operace čtení a zápisu prostě musí fungovat:
cti=PINB;
PORTB=pis;
Samozřejmě s omezením, že ne všechny piny daného portu jsou na malých procesorech vytažené ven, některé můžeš mít nakonfigurované na alternativní funkci atd. A pochopitelně napřed musíš nastavit příslušný režim, zvlášť v případě výstupu (vstupní je default).
Tak kde sakra vidíš problém?
-
lubbez
- Příspěvky: 3495
- Registrován: 21. 6. 2012, 9:26
- Bydliště: Praha
Ve wiringu jsem nenašel příkaz pro práci s portem, jako celkem. Jenom jednotlivé piny.
-
Mex
- Příspěvky: 10287
- Registrován: 6. 2. 2014, 10:29
No a co se stalo, pokud jsi tam pomocí Ctrl-C Ctrl-V nakopíroval tenhle program a spustil překlad?
void setup() {
}
void loop() {
char ahoj;
ahoj = PINB;
}
void setup() {
}
void loop() {
char ahoj;
ahoj = PINB;
}
-
lubbez
- Příspěvky: 3495
- Registrován: 21. 6. 2012, 9:26
- Bydliště: Praha
.
Naposledy upravil(a) lubbez dne 6. 12. 2019, 6:45, celkem upraveno 1 x.
-
juko
- Příspěvky: 48
- Registrován: 30. 7. 2012, 10:46
- Bydliště: IPD
Ahoj,
tu to máš vysvetlené:
https://www.arduino.cc/en/Reference/PortManipulation
DDRx - nastavuješ daný port
PORTx - čítaš/zapisuješ daný port (podľa jeho nastavenia)
tu to máš vysvetlené:
https://www.arduino.cc/en/Reference/PortManipulation
DDRx - nastavuješ daný port
PORTx - čítaš/zapisuješ daný port (podľa jeho nastavenia)
-
Mex
- Příspěvky: 10287
- Registrován: 6. 2. 2014, 10:29
Asi není pomoci. 
Když nejsi ochotný ani nakopírovat pár předchystaných řádků a napsat sem výsledek, ale zase pořád píšeš, že to nefunguje ...
Pak napíšeš nějaký program, kde proměnou "vstup": používáš pro výstup, naopak proměnou "výstup" pro vstup ...
Navíc to zapisuješ do registru DDR, který je určen pro nastavení směru portu a ne pro výstup na port ...
Když nejsi ochotný ani nakopírovat pár předchystaných řádků a napsat sem výsledek, ale zase pořád píšeš, že to nefunguje ...
Pak napíšeš nějaký program, kde proměnou "vstup": používáš pro výstup, naopak proměnou "výstup" pro vstup ...
Navíc to zapisuješ do registru DDR, který je určen pro nastavení směru portu a ne pro výstup na port ...
-
lubbez
- Příspěvky: 3495
- Registrován: 21. 6. 2012, 9:26
- Bydliště: Praha
Pad ze schodů - nemocnice min do pondělí
-
lubbez
- Příspěvky: 3495
- Registrován: 21. 6. 2012, 9:26
- Bydliště: Praha
.
Naposledy upravil(a) lubbez dne 6. 12. 2019, 6:45, celkem upraveno 1 x.
-
Mex
- Příspěvky: 10287
- Registrován: 6. 2. 2014, 10:29
Tak tohle mně připadá naprosto šílené.
Neděláš tam nějakou koncepční chybu? Třeba že bys pracoval s portem, který ale prostředí Arduino následně přenastaví do analogového režimu nebo tam namapuje nějakou speciální periferii?
Chtělo by to vyseknout z toho programu jen minimální kousek, aby se s tím dalo snadno experimentovat. Pak bys to mohl dát sem, zkusil bych z hloubi šuplíku vytáhnout nějaké Arduino a taky to vyzkoušet.
-
atlan
- Příspěvky: 3382
- Registrován: 7. 2. 2011, 9:12
Zbytocna namaha, len pekne chod na coste cecko.
Arduino je len na hranie.....
Arduino je len na hranie.....
-
Josef
- Sponzor fora
- Příspěvky: 5682
- Registrován: 19. 11. 2006, 9:25
- Bydliště: Valašsko
Ale samozřejmě že je Arduino na hraní, za tím účelem to celé vzniklo, aby zájemce přivedlo k bastlení a programování. Napřed můžeš psát ve wiringu a pokud ti to už nestačí, klidně můžeš portovat na céčko. A furt máš stejný hw. Dalším obrovským plusem je spousta rutin a knihoven, které můžeš použít, nebo jen studovat, co tím chtěl básník říci.
-
atlan
- Příspěvky: 3382
- Registrován: 7. 2. 2011, 9:12
Ano kniznice ktore nefunguju, upravou ktorych stratis kopec casu.
Pouzitim kniznic sa nabaluje na kod vsetko ale hlavne to co netreba.
Niektore kniznice su strasne spravene.
Arduino prekonpiluje zbytocne veci a bezny uzivatel netusi co okrem toho co naprogramoval ten uP robi.....
Typickym priladom su kniznice pre prijem ir codu.
Nevyuzivaju prerusenie, a prijem je taky nijaky.
Ked chces robit jieco seiozne, kde potrebujes dodrzovat casy a casovanie tak rozhodne arduino nie, musis nastudovat tie blbe prikazy a syntax.
Proste nie. Naposledy ked som robil vecsi projek som si vravel super vyuzijem arduino, bude to krasne postahujem kniznice polepim to a bude... Po 7 programovacich dňoch ma dorazil prijem ir kodu,
Cely program zaberal kopec miesta.
Tak ze som to za 2 dni prepusal do C a dom spokojny.
Tak ze na blikanie ledkou arduino ano ale inac eee.
Pouzitim kniznic sa nabaluje na kod vsetko ale hlavne to co netreba.
Niektore kniznice su strasne spravene.
Arduino prekonpiluje zbytocne veci a bezny uzivatel netusi co okrem toho co naprogramoval ten uP robi.....
Typickym priladom su kniznice pre prijem ir codu.
Nevyuzivaju prerusenie, a prijem je taky nijaky.
Ked chces robit jieco seiozne, kde potrebujes dodrzovat casy a casovanie tak rozhodne arduino nie, musis nastudovat tie blbe prikazy a syntax.
Proste nie. Naposledy ked som robil vecsi projek som si vravel super vyuzijem arduino, bude to krasne postahujem kniznice polepim to a bude... Po 7 programovacich dňoch ma dorazil prijem ir kodu,
Cely program zaberal kopec miesta.
Tak ze som to za 2 dni prepusal do C a dom spokojny.
Tak ze na blikanie ledkou arduino ano ale inac eee.
-
Mex
- Příspěvky: 10287
- Registrován: 6. 2. 2014, 10:29
No ale to vývojové prostředí Arduino je přece C++.
Je tam dopsaný preprocesor, který jen přejmenuje ty setup () a loop () do běžného formátu main ().
No a pak je k tomu spousta knihoven různé kvality, což je na jedné straně základní výhoda, na druhé straně nevýhoda. Něco jako drogy - dělá to příjemně, jen se tomu nesmí propadnout a je třeba to mít pod kontrolou.
Myslím, že ty základní objekty, které tam jsou od začátku (např. Serial atd.) jsou napsané dost dobře.
Pak se k tomu ale přilepovaly další, a u těch je kvalita velmi proměnná - od opravdu chytrých, dobře a nápaditě napsaných, až po naprostou žumpu.
Takže opět jako s těma drogama - je třeba si pohlídat, od koho nakupuju.
No a protože je to jenom C++ (a tedy i C, které je jeho podmnožinou), tak prostě musí fungovat takové základní věci jako přístup na port. Na duchy nevěřím, proto se snažím od lubbeze dozvědět co a jak nefunguje, on se tomu pořád brání.
Takže buď to vyřešit nechce, nebo už zjistil že to funguje a je mu stydno se přiznat.
Je tam dopsaný preprocesor, který jen přejmenuje ty setup () a loop () do běžného formátu main ().
No a pak je k tomu spousta knihoven různé kvality, což je na jedné straně základní výhoda, na druhé straně nevýhoda. Něco jako drogy - dělá to příjemně, jen se tomu nesmí propadnout a je třeba to mít pod kontrolou.
Myslím, že ty základní objekty, které tam jsou od začátku (např. Serial atd.) jsou napsané dost dobře.
Pak se k tomu ale přilepovaly další, a u těch je kvalita velmi proměnná - od opravdu chytrých, dobře a nápaditě napsaných, až po naprostou žumpu.
Takže opět jako s těma drogama - je třeba si pohlídat, od koho nakupuju.
No a protože je to jenom C++ (a tedy i C, které je jeho podmnožinou), tak prostě musí fungovat takové základní věci jako přístup na port. Na duchy nevěřím, proto se snažím od lubbeze dozvědět co a jak nefunguje, on se tomu pořád brání.
Takže buď to vyřešit nechce, nebo už zjistil že to funguje a je mu stydno se přiznat.
-
atlan
- Příspěvky: 3382
- Registrován: 7. 2. 2011, 9:12
A vobec ti nebadi ze tam v pozadi bezi akysi casovac ktory generuje milis a este vselico ine.
Tak ze ak mam skumat ktory casovac vyuziva arduino a ci mozem do neho zasahovat tak to rozhodne nie....
Ale kazdy si musi nabit hubu sam.
Tak ze ak mam skumat ktory casovac vyuziva arduino a ci mozem do neho zasahovat tak to rozhodne nie....
Ale kazdy si musi nabit hubu sam.