Arduino a já

arduino, teensy, atmega, pic a jine (software, hardware)
Odpovědět
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

18. 7. 2018, 4:51

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?
lubbez
Příspěvky: 3148
Registrován: 21. 6. 2012, 9:26
Bydliště: Praha

18. 7. 2018, 8:30

Ve wiringu jsem nenašel příkaz pro práci s portem, jako celkem. Jenom jednotlivé piny.
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

18. 7. 2018, 8:45

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;
}
lubbez
Příspěvky: 3148
Registrován: 21. 6. 2012, 9:26
Bydliště: Praha

18. 7. 2018, 9:03

.
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

18. 7. 2018, 9:11

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)
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

18. 7. 2018, 9:12

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 ...
lubbez
Příspěvky: 3148
Registrován: 21. 6. 2012, 9:26
Bydliště: Praha

20. 7. 2018, 12:37

Pad ze schodů - nemocnice min do pondělí
lubbez
Příspěvky: 3148
Registrován: 21. 6. 2012, 9:26
Bydliště: Praha

23. 7. 2018, 9:27

.
Naposledy upravil(a) lubbez dne 6. 12. 2019, 6:45, celkem upraveno 1 x.
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

23. 7. 2018, 9:43

lubbez píše: 23. 7. 2018, 9:27Arduino - wiring sice přeloží, ale nefunguje.
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: 3343
Registrován: 7. 2. 2011, 9:12

24. 7. 2018, 7:22

Zbytocna namaha, len pekne chod na coste cecko.
Arduino je len na hranie.....
Josef
Sponzor fora
Příspěvky: 5699
Registrován: 19. 11. 2006, 9:25
Bydliště: Valašsko

24. 7. 2018, 8:28

atlan píše: 24. 7. 2018, 7:22 Zbytocna namaha, len pekne chod na coste cecko.
Arduino je len na hranie.....
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: 3343
Registrován: 7. 2. 2011, 9:12

24. 7. 2018, 11:13

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.
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

24. 7. 2018, 3:07

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. ;-)
t256
Příspěvky: 2820
Registrován: 19. 1. 2012, 4:49

24. 7. 2018, 4:57

atlan píše: 24. 7. 2018, 11:13 Tak ze som to za 2 dni prepusal do C a dom spokojny.
Ja kdyz potrebuju presne a kriticke casovani pisu zasadne v asm.
Arduino radeji nebudu komentovat :-)
atlan
Příspěvky: 3343
Registrován: 7. 2. 2011, 9:12

24. 7. 2018, 5: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.
Odpovědět

Zpět na „MCU“