Fórum témák

» Több friss téma
Fórum » AVR - Miértek hogyanok
 
Témaindító: pakibec, idő: Márc 11, 2006
Témakörök:
WinAVR / GCC alapszabályok:
1. Ha ISR-ben használsz globális változót, az legyen "volatile"
2. Soha ne érjen véget a main() függvény
3. UART/USART hibák 99,9% a rossz órajel miatt van
4. Kerüld el a -O0 optimalizációs beállítást minden áron
5. Ha nem jó a _delay időzítése, akkor túllépted a 65ms-et, vagy rossz az optimalizációs beállítás
6. Ha a PORTC-n nem működik valami, kapcsold ki a JTAG-et
Bővebben: AVR-libc FAQ
Lapozás: OK   613 / 837
(#) varttina válasza killbill hozzászólására (») Júl 30, 2014 /
 
Köszönöm a gyors választ!
(#) dokidoki válasza varttina hozzászólására (») Júl 30, 2014 /
 
Bocs a belekotyogásért, mert csak kókler vagyok ehhez..., de egy láb ATtiny85-ön, bármire elég, főleg ha nyomógombozni akarsz. ADC segítségével, több gombot is beolvashatsz egy lábon, prociban is akad elég hely hozzá.
(#) varttina válasza dokidoki hozzászólására (») Júl 30, 2014 /
 
Köszi! Erre nem is gondoltam. Mindössze egy feszültségosztóra lenne szükség a gombokon kívül.
(#) csabeszq válasza dokidoki hozzászólására (») Aug 1, 2014 /
 
Hát igen, fantasztikus ötlet. Nálam állandóan kevés a láb, tetszőleges IC-t használok.
Mellesleg az a pár ellenállás kevesebb helyet foglal, mint egy shift regiszter vagy IO expander.

(#) vilmosd válasza csabeszq hozzászólására (») Aug 1, 2014 /
 
Nezd csak! Igaz PIC, de gondolom AVR-en is mukodhet.
A hozzászólás módosítva: Aug 1, 2014
(#) csabeszq válasza vilmosd hozzászólására (») Aug 1, 2014 /
 
Én 6 gombnál többet nem kötnék 10 bites ADC-re. 2^6 = 64, azaz egy gombnak 16 ADC érték felel meg egy R-2R tömbnél.
(#) rolandgw válasza varttina hozzászólására (») Aug 1, 2014 /
 
Ez is elfér kis helyen,ha elég a 4 gomb és I2C.
(#) killbill válasza csabeszq hozzászólására (») Aug 2, 2014 /
 
De itt nem R-2R letrarol van szo, hanem egy hosszu osztolancrol, ami 16 egyenlo reszre osztja a teljes tapfesz tartomanyt. Tehat 16 gomb eseten 64 ADC ertek (LSB-nek hivjak) jut egy gombra. Boven jo.
Az ne tevesszen meg, hogy a linkelt rajz hasonlit egy R-2R letrara. Nezd meg az ertekeket. 270 Ohm es 1 MOhm. A szoveg szerint az 1M csak a nyitott nyomogombot szimulalja.
(#) csabeszq válasza killbill hozzászólására (») Aug 2, 2014 /
 
Annak semmi értelme, ha nincs a hardver felkészülve arra, hogy egyszerre kettőt nyomunk le.
A hozzászólás módosítva: Aug 2, 2014
(#) killbill válasza csabeszq hozzászólására (») Aug 2, 2014 /
 
Ez szerintem feladatfüggő.
(#) csabeszq válasza killbill hozzászólására (») Aug 2, 2014 /
 
Ez egy nehéz kérdés. Ha csinálsz 6000 db-ot valamiből és eladod, akkor igazad van.

Ha csak magadnak csinálod és időnként frissítgeted a szoftvert hozzá, akkor nem. Ha nem akarsz percenként új paneleket csinálni, akkor a mikrokontroller gondolkozik és nem a hardver.

A fenti esetben a hardver dönti el, hogy nem nyomhatsz meg két gombot, nem pedig a szoftver.

Ha pl. készítenék egy akkumulátor töltőt, akkor a "kész" LED-et az MCU-ra kötném, nem pedig hardverből kapcsolnám automatikusan. A szoftver módosítása mindig egyszerűbb a hardverénél.
(#) killbill válasza csabeszq hozzászólására (») Aug 2, 2014 /
 
Nem ertelek. Ha magamnak csinalok egy darab lampa kapcsolot, amin van + es - gomb, akkor miert akarnam, hogy egyszerre is lehessen a kettot megnyomni. Persze lehet, hogy ugy kell megcsinalni, hogy ha egyszer kitalalom, hogy a ketto egyszerre azt jelentse, hogy akarmi, akkor jobb lenne eleve ugy tervezni. Tenyleg nehez kerdes.

En pont most csinaltam egy keszuleket, amiben van egy 32 bites ARM mikrokontroller, de a Li-ion akkutolto teljesen kulonallo analog HW es a "kesz" LED-et bizony a HW kapcsolja. Igaz, a HW nem is volt jo elsore (mert nem volt idom osszerakni a kapcsolast az asztalon a panel tervezes elott), de egy darab eseten mindegy volt, hogy a HW-t modositom vagy a SW-t.
(#) mikado hozzászólása Aug 4, 2014 /
 
Sziasztok,
egy olyan problémám lenne, hogy attiny13a-ba AVRISP mkii-vel letöltöttem egy programot, ami a PB2-t kimenetként használja (led) és azóta nem éri el az attiny-t a programozó. Amíg nem volt kimenetként beállítva, addig jól működött. Én rontottam el valamit?
Másik attiny-vel működik a programozó.
(#) csabeszq válasza mikado hozzászólására (») Aug 5, 2014 /
 
Nem állítottad át a RESET lábat ki/bemenetre? Akkor nem fogod tudni ISP-vel programozni.
A hozzászólás módosítva: Aug 5, 2014
(#) mikado válasza csabeszq hozzászólására (») Aug 5, 2014 /
 
A reset lábhoz nem, nyúltam, csak a PB2 lett kimenet, igaz az meg SCK is...
(#) csabeszq válasza mikado hozzászólására (») Aug 5, 2014 /
 
Ha a fuse biteket állítottad át, csak akkor lehet gond. Esetleg a MISO/MOSI/SCK/RESET lábakat 5 k ohmnál nagyobb erővel állítja az áramkör (a programozónak kellene állítania).

Teljesen mindegy, hogy melyik lábat állítod kimenetre (DDRB), mert amikor a RESET vonalat a programozó alacsonyra állítja, az összes láb lebegni fog.

A hiba máshol van.
A hozzászólás módosítva: Aug 5, 2014
(#) fecus válasza mikado hozzászólására (») Aug 5, 2014 /
 
Nem lehet, hogy a beégetés előtt rá is kötötted a LED-et és az elhúzza az SCK-t?
(#) zombee válasza mikado hozzászólására (») Aug 5, 2014 / 1
 
Ezt bele kéne venni az oldal elején lévő "okosságok" közé:

Néhány ATTiny és a LUFA féle AVRISP-mkII esetén ha az SCK lábat kimenetre állítod, nem tudod programozni!
Mindegy hogy mit kötsz rá (vagy a programozón kívül semmit), hiába cibálod kézzel a RESET-et,
nem fog sikerülni. Én sem jöttem rá hogy miért, érdekes módon más programozók vígan viszik...
A firmware verzióval sem érdemes játszani, a régiek és az újak is egyformán hibásak.
Én vagy nem használom kimenetnek, vagy ha mégis kell, akkor csak "időszakosan", végső
esetben STK500 klónt használok mert azzal nincsenek ilyen problémák.
A hozzászólás módosítva: Aug 5, 2014
(#) csabeszq válasza zombee hozzászólására (») Aug 6, 2014 /
 
Nálam a gond fordítva szokott előjönni.

Ha inputnak használom, akkor előfordul, hogy a bemeneti jelforrás erősebb a programozónál, azért nem tudja programozni.

A hozzászólás módosítva: Aug 6, 2014
(#) mikado hozzászólása Aug 6, 2014 /
 
Köszi mindenkinek a tippeket, stk-t már nem akarok venni... Van még egy USBASP programozóm majd azzal még megpróbálom.
Jó lenne néhány ilyen "ökölszabályt" összegyűjteni, hogy minél kevesebben járjanak így
(#) csabeszq válasza mikado hozzászólására (») Aug 7, 2014 /
 
Ott vannak az oldal tetején sárga dobozban.

Minden problémát nem tudsz kiszűrni. 2 éve foglalkozom AVR-rel és azóta kb. egyfolytában szívok. Mindig mindenre van magyarázat, de elsőre általában semmi sem sikerül.

Ez ilyen, időigényes.
(#) Massawa válasza csabeszq hozzászólására (») Aug 7, 2014 /
 
Nekem meg sokszor elsöre minden megy, a második, harmadik szokott fejfájást okozni. Legutobb a dugaszolopanelen minden ment ( megy ma is) amikor átraktam mindent a NYÁK-ra képtelen voltam elinditani a JTAG kommunikáciot a Dragon meg a 644-s között. Igy most a dugaszpanelon programozom majd átrakom a végleges panelbe. Nem tudom mi a baja.... A NYÁK-ot többen sokszor átnéztük és mindent rendben találtunk......
(#) tib12 hozzászólása Aug 7, 2014 /
 
Üdv. Egy program megírásában kérnék segítséget. Bascom-AVR programban programozok. Atmega8 lenne az alany. Egy olyan programra lenne szükségem, ami egy adott frekvencia fölött kapcsol egy kimenetet. Ez a frekvencia két gombbal állíthatónak kéne lennie 5-20Hz között. A program vázlata is megvan fejben és le is írom most. Program indulásakor elindul egy timer, a beérkező jel(reed relé) megállítaná, majd a program megnézné, hogy mennyi ez a szám. Ha egy adott számnál nagyobb akkor nem történik semmi, ha pont akkora vagy kisebb akkor bekapcsol egy kimenetet és addig tartja bekapcsolva még nem lesz nagyobb a szám. A gombokkal sajnos nincs ötletem. Most kezdtem a programozást így az ötlet megvan, csak a megvalósításban kellene a segítség. Válaszokat előre is köszönöm.
(#) Massawa válasza tib12 hozzászólására (») Aug 7, 2014 /
 
Milyen bemeneti jelet akarsz mérni?

Nem világos, hogy belsö vagy külsö jelet.
Ha belsöt 2 timer kell. Az egyikkel kapuzod a másikat ( mondjuk 1 másodpercenként). A másik mint szabadonfuto adja a mérendö jelet.
Egy számláloval számolod hány jel jelent meg az 1 sec alatt ( ha pl.10 akkor 10 Hz). Ezt a számot hasonlitod és döntesz.
A gombokkal (1-1 bemenet) inditod az összehasonlitást.
Egy kicsit több info kellene.
(#) tib12 válasza Massawa hozzászólására (») Aug 7, 2014 /
 
Külső jel lenne, mégpedig egy reed relé(vagy hall, ha a reed nem felel meg). A gombok csak a határfrekvenciát állítanák oda-vissza ahol kapcsol a bemenet. Ez a szerkezet egy motor kerekére lenne szerelve, pontosabban a reed relé és fordulatot számolna. Ha egy adott pont fölé megy a fordulat egy kimenet logikai 1-et adna ki mely visszajelezné hogy elérte a maximálisan megengedett sebességet. Köszönöm a gyors választ.
(#) varttina válasza tib12 hozzászólására (») Aug 7, 2014 /
 
Ha csak két gombról van szó, hardveres prellkioltást alkalmaznék, és a gombok jelét megszakítással kezelném. A megszakítási szubrutin attól függően, hogy melyik gombról jött a jel, növelné, vagy csökkentené egy változó értékét. A főprogramban pedig ezen változót hasonlítanám össze a timer értékével a reed relé jelének beérkezése pillanatában.
(#) tib12 válasza varttina hozzászólására (») Aug 7, 2014 /
 
A prellkioltásra mit javasolsz? Már csak a program megírásával van gond, sajnos az nem megy még annyira. Ebben kérnék segítséget(vagy akár kész programot) lehetőleg basic nyelven, így abból is tudnék tanulni és tudnám módosítani ha kell. Nagyon köszönöm a segítséget.
(#) varttina válasza tib12 hozzászólására (») Aug 7, 2014 /
 
Ebben a cikkben van egy NAND kapukból megvalósíított flipflop. Itt egy másik Schmitt-triggerrel, amihez már bármilyen nyomógomb megfelel.
A hozzászólás módosítva: Aug 7, 2014
(#) pluto válasza tib12 hozzászólására (») Aug 7, 2014 /
 
Szia!

Itt is a prell mentesítés volt a téma. A szimuláció proteus-ban lett elkészítve. Egy nagyon stabil "alap" kapcsolás. Ha nagyon kell a proteus fájl, akkor megkeresem.
(#) tib12 válasza pluto hozzászólására (») Aug 7, 2014 /
 
Szerintem a prellel már nem lesz gond Már csak egy frekvenciamérő programra lenne szükségem, amit átírhatok. Köszönöm a segítséget.
Következő: »»   613 / 837
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem