Pomoc pri programovaní
Moderátori: psichac, Moderátori
Pomoc pri programovaní
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
- adam_pitak
- Stály člen
- Príspevky: 384
- Dátum registrácie: 03 Dec 2009, 00:00
- Bydlisko: Orava Nizna
- Vek: 36
- Kontaktovať používateľa:
no moment moment original AVRISP mkII ma vyvod VCC (ci ako sa vola) iba na kontrolovanie napajania v targeteMacGyver napísal:AvrISP mkII. by mal mat moznost napajania targetu. Skus poriadne prezriet
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
- adam_pitak
- Stály člen
- Príspevky: 384
- Dátum registrácie: 03 Dec 2009, 00:00
- Bydlisko: Orava Nizna
- Vek: 36
- Kontaktovať používateľa:
to zapojenie co si pozeral tak tam je original od atmelu a ten potrebuje externe napajanie(takze nejaky ten adapter)Peter114 napísal:no ja som pozeral zapojenie http://shortcircu.it/2011/05/11/how-to- ... ontroller/
//Automatické spojenie príspevkov. Pridané po 2 minútach:
a mozes alebo nemusis (potom podla toho nastavis jumper na programatore) pripojit adapter na klone mkIIPeter114 napísal:takže pri programovaní ho tam nemusím dávať alebo ani nemôžem keby som to nechal zapojené na furt
0
mieeeer
Re: Pomoc pri programovaní
Č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
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
-
- 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í
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í.
Re: Pomoc pri programovaní
Ďakujem otestujem
Ja som zatiaľ našiel takýto zápis a aj ten funguje
if (((PIND&(1<<PD0))==0)||((PIND&(1<<PD1))==0))
Ja som zatiaľ našiel takýto zápis a aj ten funguje
if (((PIND&(1<<PD0))==0)||((PIND&(1<<PD1))==0))
0
-
- 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í
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?
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í.
Re: Pomoc pri programovaní
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.
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
-
- 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í
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í.
- boraicho
- Ultimate člen
- Príspevky: 12407
- Dátum registrácie: 03 Feb 2007, 00:00
- Bydlisko: Prešov
- Vek: 35
- Kontaktovať používateľa:
Re: Pomoc pri programovaní
č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
3D REBEL II + PLA + PETG
CNC 1810 na DPS
-
- 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í
Úč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
Kód: Vybrať všetko
&&
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í.
Re: Pomoc pri programovaní
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: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.
Ako by si to napisal napr. na PC0 a PB1 (ten isty vyraz co bol spomenuty s PD0,PD1)peterple napísal: if ((PIND & 3 )!=3){
0
Re: Pomoc pri programovaní
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.
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
-
- 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í
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
(štyri inštrukcie)
Riešenie v mojom duchu
vyjde o kúsok dlhšie (7 inštrukcii)
Je to tak človek sa stále účí.
Na jeho otázku najlepšie riešenie je
Kód: Vybrať všetko
if (((PINC&(1<<PC0))==0)||((PINB&(1<<PB1))==0))
Riešenie v mojom duchu
Kód: Vybrať všetko
if (((PINC&(1<<PC0))|(PINB&(1<<PB1)))!=3){
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í.
Re: Pomoc pri programovaní
Pytal som sa len kvoli tomu aby som vedel ci sa daju testovat piny na roznych portoch sposobom ktory uviedol peterple.
0
-
- Podobné témy
- Odpovedí
- Zobrazení
- Posledný príspevok
-
- 0 Odpovedí
- 1169 Zobrazení
-
Posledný príspevok od používateľa boro
-
- 3 Odpovedí
- 582 Zobrazení
-
Posledný príspevok od používateľa Sani1
-
- 8 Odpovedí
- 699 Zobrazení
-
Posledný príspevok od používateľa enigma
-
- 13 Odpovedí
- 1658 Zobrazení
-
Posledný príspevok od používateľa mr.dred
-
- 6 Odpovedí
- 1319 Zobrazení
-
Posledný príspevok od používateľa pocitujlasku