Pomoc pri programovaní

Všetko čo sa týka mikropočítačov + Sekcia Arduino

Moderátori: psichac, Moderátori

Peter114
Stály člen
Stály člen
Príspevky: 137
Dátum registrácie: 04 Máj 2011, 00:00
Vek: 29

Pomoc pri programovaní

Príspevok od používateľa Peter114 » 19 Máj 2011, 19:41

keď mám programátor AVRISP mkII a pripájam vývody na mikroprocesor tak musím priviesť na ten výstup aj napätia 5V ? sú tam ešte nejaké požiadavky či len tam švacnúť napr http://www.gme.sk/sk/adapter-sitovy-spi ... 1-391.html ? ten programátor nemá vlastný zdroj z USB ?
0

Používateľov profilový obrázok
MacGyver
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1434
Dátum registrácie: 01 Júl 2007, 00:00
Bydlisko: Ruzinov
Vek: 35

Príspevok od používateľa MacGyver » 19 Máj 2011, 20:11

AvrISP mkII. by mal mat moznost napajania targetu. Skus poriadne prezriet
0
/home sweet /home ..
Canon EOS 60D owner

Peter114
Stály člen
Stály člen
Príspevky: 137
Dátum registrácie: 04 Máj 2011, 00:00
Vek: 29

Príspevok od používateľa Peter114 » 19 Máj 2011, 22:30

0

Používateľov profilový obrázok
MacGyver
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1434
Dátum registrácie: 01 Júl 2007, 00:00
Bydlisko: Ruzinov
Vek: 35

Príspevok od používateľa MacGyver » 20 Máj 2011, 08:15

No ako vidim, tak napajanie tam je. Teda aspon PIN. Co an tom potrebujes este vysvetlit?
0
/home sweet /home ..
Canon EOS 60D owner

Peter114
Stály člen
Stály člen
Príspevky: 137
Dátum registrácie: 04 Máj 2011, 00:00
Vek: 29

Príspevok od používateľa Peter114 » 20 Máj 2011, 08:34

Vlastne už asi nič. Iba zháňam ako sa riadia servomotory. Čosi som teoreticky našiel len potrebujem nejakú schému. Ak máš čas alebo to vieš. Ak nie niečo nájdem. :D
0

Používateľov profilový obrázok
adam_pitak
Stály člen
Stály člen
Príspevky: 384
Dátum registrácie: 03 Dec 2009, 00:00
Bydlisko: Orava Nizna
Vek: 36
Kontaktovať používateľa:

Príspevok od používateľa adam_pitak » 22 Máj 2011, 01:05

MacGyver napísal:AvrISP mkII. by mal mat moznost napajania targetu. Skus poriadne prezriet
no moment moment original AVRISP mkII ma vyvod VCC (ci ako sa vola) iba na kontrolovanie napajania v targete

http://img.en.china.cn/0/0,0,343,62841, ... c41d4a.jpg

zatial co klony ktore sa spravaju ako mkII tak tie dokazu napajat target (da sa to ale aj vypnut)
0
mieeeer :)

Peter114
Stály člen
Stály člen
Príspevky: 137
Dátum registrácie: 04 Máj 2011, 00:00
Vek: 29

Príspevok od používateľa Peter114 » 22 Máj 2011, 16:38

takže pri programovaní ho tam nemusím dávať alebo ani nemôžem :D keby som to nechal zapojené na furt
0

Používateľov profilový obrázok
adam_pitak
Stály člen
Stály člen
Príspevky: 384
Dátum registrácie: 03 Dec 2009, 00:00
Bydlisko: Orava Nizna
Vek: 36
Kontaktovať používateľa:

Príspevok od používateľa adam_pitak » 22 Máj 2011, 16:50

Peter114 napísal:no ja som pozeral zapojenie http://shortcircu.it/2011/05/11/how-to- ... ontroller/
to zapojenie co si pozeral tak tam je original od atmelu a ten potrebuje externe napajanie(takze nejaky ten adapter)

//Automatické spojenie príspevkov. Pridané po 2 minútach:
Peter114 napísal:takže pri programovaní ho tam nemusím dávať alebo ani nemôžem :D keby som to nechal zapojené na furt
a mozes alebo nemusis (potom podla toho nastavis jumper na programatore) pripojit adapter na klone mkII
0
mieeeer :)

Používateľov profilový obrázok
SIGINT
Stály člen
Stály člen
Príspevky: 359
Dátum registrácie: 28 Nov 2012, 09:23
Bydlisko: Trakovice
Vek: 48

Re: Pomoc pri programovaní

Príspevok od používateľa SIGINT » 27 Nov 2017, 16:55

Čafte..

Nechcem zakladať nové vlákno, takže:
Neviem si poradiť s týmto:

mám dva vstupy a potrebujem aby program zbehol pri splnení aspoň jednej podmienky
// tzn ak je aspoň jeden pin v L
neviem ako to zapísať..

((PIND&(1<<PD0))==0)
((PIND&(1<<PD1))==0)


if

{.....


Ďakujem..

Jozef
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Pomoc pri programovaní

Príspevok od používateľa peterple » 27 Nov 2017, 17:05

Kód: Vybrať všetko

if ((PIND & 3 )!=3){
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Používateľov profilový obrázok
SIGINT
Stály člen
Stály člen
Príspevky: 359
Dátum registrácie: 28 Nov 2012, 09:23
Bydlisko: Trakovice
Vek: 48

Re: Pomoc pri programovaní

Príspevok od používateľa SIGINT » 27 Nov 2017, 17:09

Ďakujem otestujem

Ja som zatiaľ našiel takýto zápis a aj ten funguje

if (((PIND&(1<<PD0))==0)||((PIND&(1<<PD1))==0))
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Pomoc pri programovaní

Príspevok od používateľa peterple » 27 Nov 2017, 17:23

Lepšie by bolo keby sa to snažil pochopiť. Takéto skusmo programovanie toho čo nájdem na webe alebo mi niekto poradí stojí za nič.
Prvá otázka na pochopenie vieš čo je PD0 a PD1?
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Používateľov profilový obrázok
SIGINT
Stály člen
Stály člen
Príspevky: 359
Dátum registrácie: 28 Nov 2012, 09:23
Bydlisko: Trakovice
Vek: 48

Re: Pomoc pri programovaní

Príspevok od používateľa SIGINT » 27 Nov 2017, 17:59

Občas mi to nepáli ako by som si predstavoval.
Viem že musím použiť dve podmienky a bitovú operáciu.
Ale akosi som sa stratil v zátvorkách a ten tvoj zápis ma vôbec nenapadol.
Že načítam PD0 a PD1 a podmienka je splnená ak sa nerovnajú 3.
No čo už každý sa učí...

Ďakujem pekne, budem si to pamätať.

Jozef.
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Pomoc pri programovaní

Príspevok od používateľa peterple » 27 Nov 2017, 18:16

Ten zápis čo si našiel má dve nevýhody. Jednak vyjde na oveľa viacej inštrukcií. Druhá vec je že stav portu sa číta dvakrát. A to už môže byť na porte iná situácia. Ale ak vidíš do toho čo je za tým tak potom je to v poriadku. Problémy to môže robiť len za určitých okolností (prerušenia). Ak tie problémy za tým nevidíš tak potom sa môžeš občas dočkať nemilého prekvapenia.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Používateľov profilový obrázok
boraicho
Ultimate člen
Ultimate člen
Príspevky: 12406
Dátum registrácie: 03 Feb 2007, 00:00
Bydlisko: Prešov
Vek: 35
Kontaktovať používateľa:

Re: Pomoc pri programovaní

Príspevok od používateľa boraicho » 27 Nov 2017, 18:25

čo presne znamena PIND & 3?
0
"Aj nevinne vyzerajúca súčiastka, môže byť príčinou nefunkčnosti zariadenia a tou kondenzator 100% je"
3D REBEL II + PLA + PETG
CNC 1810 na DPS

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Pomoc pri programovaní

Príspevok od používateľa peterple » 27 Nov 2017, 18:49

logický bitový súčin pinov portu D a hodnoty 3. To je popis operácie.
Účel je vymaskovať (vynulovať) nezaujímavé bity portu (7 až 2). Výsledok je potom jedna z nasledujúcich hodnôt (0, 1, 2, 3) a na jej základe sa dá zistiť aká logická hodnota na pinoch je. Kedže zadanie bolo že chce niečo urobiť ak je niektorý z tých pinov nulový tak tomu zodpovedá práve test aby to nebolo 3. Ak je to 3 tak len vtedy sú oba piny v jednotke (1+2=3)

Edit. Tu som sa pomýlil a všetci mi to zožrali. nikto sa neozval, že je to hlúposť. Logický súčin je A robí to niečo úplne iného než som napísal. Tiež jedna z nášľapných mín v C jazyku ktorá potom presakuje do kdejakých iných jazykov. Ale v zásade sa to inak ani nedá. Len často veľa začiatočníkov nevie aký je rozdiel medzi

Kód: Vybrať všetko

&& a &
0
Naposledy upravil/-a peterple v 28 Nov 2017, 21:02, upravené celkom 1 krát.
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

michal312
Stály člen
Stály člen
Príspevky: 385
Dátum registrácie: 30 Dec 2007, 00:00
Bydlisko: Hlohovec

Re: Pomoc pri programovaní

Príspevok od používateľa michal312 » 27 Nov 2017, 19:49

peterple napísal:Ten zápis čo si našiel má dve nevýhody. Jednak vyjde na oveľa viacej inštrukcií. Druhá vec je že stav portu sa číta dvakrát. A to už môže byť na porte iná situácia. Ale ak vidíš do toho čo je za tým tak potom je to v poriadku. Problémy to môže robiť len za určitých okolností (prerušenia). Ak tie problémy za tým nevidíš tak potom sa môžeš občas dočkať nemilého prekvapenia.
Peter ake konkretne problemy mozu pri preruseni vzniknut tymto zapisom? Napr: Precita prvu podmienku odskoci do prerusenia a ked sa vrati na druhu podmienku nemusi to spravne vyhodnotit? (kedze stav prvej podmienky sa medzitym zmenil)

peterple napísal: if ((PIND & 3 )!=3){
Ako by si to napisal napr. na PC0 a PB1 (ten isty vyraz co bol spomenuty s PD0,PD1)
0

Používateľov profilový obrázok
SIGINT
Stály člen
Stály člen
Príspevky: 359
Dátum registrácie: 28 Nov 2012, 09:23
Bydlisko: Trakovice
Vek: 48

Re: Pomoc pri programovaní

Príspevok od používateľa SIGINT » 27 Nov 2017, 20:49

No motal som sa okolo podmienok a keďže sa len učím a skúšam, potreboval som to vyriešiť.
Nikde som takýto zápis nevidel, a vida už som múdrejší. Čo sa týka prerušení, tak v tomto mojom projekte sú len dve
a tie si zapínam počas programu.
Ale ďakujem za nakopnutie, proste niekedy mám dni typu "keď to nejde tak to nejde".
Jozef.
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: Pomoc pri programovaní

Príspevok od používateľa peterple » 27 Nov 2017, 21:23

Kedže prišla ďalšia otázka a tak som sa tomu pozrel na zúbok a výsledok je že riešenie čo si našiel a to moje je rovnako dlhé v prípade zapnutej optimalizácie O3. Obe konštrukcie koštujú 4 inštrukcie. Rozdiel je naozaj len v tom že v tvojom kóde sa to testuje na dvakrát. Či to môže byť problém alebo nie to sa nedá posúdiť bez znalosti hw zapojenia. Mechanizmus je presne taký ako napísal michal312.


Na jeho otázku najlepšie riešenie je

Kód: Vybrať všetko

if (((PINC&(1<<PC0))==0)||((PINB&(1<<PB1))==0))
(štyri inštrukcie)

Riešenie v mojom duchu

Kód: Vybrať všetko

if (((PINC&(1<<PC0))|(PINB&(1<<PB1)))!=3){
vyjde o kúsok dlhšie (7 inštrukcii)

Je to tak človek sa stále účí.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

michal312
Stály člen
Stály člen
Príspevky: 385
Dátum registrácie: 30 Dec 2007, 00:00
Bydlisko: Hlohovec

Re: Pomoc pri programovaní

Príspevok od používateľa michal312 » 27 Nov 2017, 22:12

Pytal som sa len kvoli tomu aby som vedel ci sa daju testovat piny na roznych portoch sposobom ktory uviedol peterple. :)
0

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok