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   260 / 840
(#) lazsi válasza mukievil hozzászólására (») Aug 16, 2010 /
 
Ha forcat linkjében nem találod meg a választ, akkor próbáld ki, hogy az avr studioban válaszd ki a legalacsonyabb isp frekvenciát és azzal próbáld meg.
Ha azzal legalább látja a uC-t, akkor nézd meg a beállított órajel-biteket. Lehet, hogy belső, alacsony értékű órajelre állítottad át. Nem tudom, hogy a hardware, amit használsz tartalmaz-e kvarcot, de ha nem, akkor az is lehet, hogy külső órajelre állítottad át.

Megoldás lehet még, hogy párhuzamos módban kell átprogramozni, hogy ismét lehessen használni soros módban, ha azt állítottad el véletlenül. Ahhoz megfelelő programozó (pl. STK500-as) kell. Nálam van olyan, de csak szeptemberben megyek be a munkahelyemre, ha addig ráér, akkor meg tudom nézni, ha elhozod.
(#) mukievil hozzászólása Aug 16, 2010 /
 
Köszi! Ezt még ma megépitem! Csak nemértem, hogy mindegyiket elállitottam volna egy kivételével? Na mind1 lehet vagyok ilyen hülye ! Azt még áruljátok el, hogy mi a különbség, ha beteszek egy kristályt két kondival vagy a topi féle m˝iszivet használom? Ezt a kristályosdi, még nem teljesen tiszta , bezzeg a szervot már tudom forgatni
(#) lazsi válasza mukievil hozzászólására (») Aug 16, 2010 / 1
 
Az AVR-ek alapvetően háromféle módban működhetnek (órajel szempontjából):
1. belső RC oszcillátorral
2. külső kvarccal
3. külső órajelről.

1. Ha az alkalmazásodban nincsenek kritikus időzítések, és/vagy fel kell használni egyéb célra azokat a lábakat, amikre a kvarcot köthetnéd. (0. db lábat használ fel)
2. Önállóan működő eszköz, fontos az időzítés pontossága. (2. db lábat használ fel)
3. Több uC van a készülékben és fontos, hogy mindegyik egészen pontosan azonos frekvencián működjön és/vagy meg akarod spórolni a kvarchoz szükséges lábak egyikét. (1. db lábat használ fel)

Mindegyiknek meg van a maga előnye és hátránya. Az a lényeg, hogy a fuse bitek annak megfelelően legyenek beégetve, ahogy azt a hardware igényli.
(#) mukievil hozzászólása Aug 16, 2010 /
 
Köszi a válaszokat! Sajnos nemtudtam ma megvenni az alkatrészeket!
Egyébként még mindig nem teljesen tiszta! Most akkor ha átállitom külső kvarcra, ami nekem megfelelő, akkor onnantol kezdve nemtudom programozni a chipet??

Ha órajelről akarom programozni, azt nem kell beállítani ? Csak mert orajel opcio is van avr studioban!
(#) mukievil válasza mukievil hozzászólására (») Aug 16, 2010 /
 
Bocs a duplakommentért!

Ugytünik a külsö orajelemet kötöttem be rosszul, vagy tul hosszu vezetéken volt a kvarc vagy nemtudom mi volt, de most életre kelt az egyik chipem! weeeeeeeee
(#) JOCO10 hozzászólása Aug 16, 2010 /
 
Megépítettem a Topi féle AVR-Doper-t.
A kérdésem lehet a programozoval terminál programot használni?
A leirásában ez szerepel:
Idézet:
„Ezen kívül USB-HID módban lehetőség van kivezetett, az előző oldalon látható lábakon használható RXD és TXD vonalakra, mely az USB-s programozónk által leszimulált soros port. Ez hasznos lehet, olyan esetekben, amikor az eszköznél ezt a lehetőséget használjuk debugolásra, üzenetek kiírására.”
.
Ha lehet kérlekirjátok meg hogyan.(szájbarágosan)
A másik kérdésem a rajzon lévő CLK kivezetés a "halott" procik élesztésére használható?
(#) Ricsi89 válasza JOCO10 hozzászólására (») Aug 16, 2010 /
 
Ugyanezt kérdeztem már én is régebben, többször is és nem jött válasz. :no:
(#) vaszil29 válasza lazsi hozzászólására (») Aug 16, 2010 /
 
Már bocsánat!
Ezt az apróbb szösszenetet redbe tenném!
A tisztán látás érdekébe.
Az LPT port csatija a D-sub25 (LPT1, LPT2)
link
A COM1 és a COM 2 RS232-9pin (ez is vezérelhető port)
COM2 RS232-10p (Hálózati csatlakozó) számitógépek összekötésére, hálózat kialakítására.
Esetleg ha tévednék elnézést mindenkitől.

Link javítva.
-- kobold

avr-lpt.jpg
    
(#) vaszil29 válasza vicsys hozzászólására (») Aug 16, 2010 /
 
[quote]A panelodon van egy LP3 csatlakozó 2 lábbal.
Na ezt nem találom!
(#) mukievil hozzászólása Aug 16, 2010 /
 
Üdv!

Az lenne a kérdésem, hogy 3 vagy több AVR kommunikációját egymással, hogyan oldanátok meg???
Aránylag egyszerüen?
Oda-vissza, csak oda is érdekel.

Az első gondolatom, hogy soros portot párhuzamositom, minden avr felé, és az elsö karakterrel amit küldök, azonositom az avrt, igy mindegyik veszi az üzenetet, de ha nem az ő kodja , akkor nem veszi figyelembe az üzenetet!
(#) Topi válasza mukievil hozzászólására (») Aug 16, 2010 /
 
I2C, SPI. Választhatsz.

Sorosport nem erre való, venni tud mindenki, de a küldéshez pufferelni kellene.
(#) mukievil válasza Topi hozzászólására (») Aug 16, 2010 /
 
Azt gondoltam hogy nem lesz jó ! Köszi a választ! Utána olvasok és gyanitom még majd kérdezek! Köszi!
(#) Fizikus válasza Topi hozzászólására (») Aug 17, 2010 /
 
Sziasztok!

Az ATMega8-as adatlapjabol probaltam megerteni hogy hogyan is mukodik a TWI (I2C), de nem sok sikerrel. Nincs veletlenul valakinek egy felkommentezett AVR GCC (WinAVR) peldaprogramja?
Sokat segitene vele.

Udv.: Gabor
(#) IMi válasza Fizikus hozzászólására (») Aug 17, 2010 / 1
 
Szia!
Itt az oldalon fent van egy doksi I2C-ről.
Bővebben: Link
(#) vicsys válasza vaszil29 hozzászólására (») Aug 17, 2010 /
 
Nem tudom mit írtam, már hülye vagyok. A J3-ra gomboltam. (Teljesen elkalandoztak a gondolataim. Folyton egy indukciós hevítőre gondolok)
(#) Fizikus válasza IMi hozzászólására (») Aug 17, 2010 /
 
Koszi!

Kezd tisztulni a dolog. Mar csak arra kellene rajonnom, hogyan lehet ezt WinAVR-ben leprogramozni ugy, hogy beepitett hardveres TWI-t hasznalom.
(#) zombee válasza JOCO10 hozzászólására (») Aug 17, 2010 /
 
hát figy, ez a HID mód nem COM port kompatíbilisen működik, azaz külön könyvtárat kell használnod, a meglévő programokhoz felejtős...
(#) gtk válasza Fizikus hozzászólására (») Aug 17, 2010 / 1
 
Ha nem akarod leprogramozni, akkor pl. >>itt<< talalsz HW-es i2c drivert ds1621-re, de atlathato, a folosleges fv.-eket ki lehet szedni.
(#) IMi válasza Fizikus hozzászólására (») Aug 17, 2010 / 1
 
Szia!
ITT ezen az oldalon egy kidolgozott c lib van, nézd át vagy használd
Kód letöltése
(#) IMi válasza IMi hozzászólására (») Aug 17, 2010 / 1
 
Upsz!
Rossz a kód letöltés linkje (lcd lib-re mutat) !
I2C Lib <-- ez a jó !
Már nem tudtam módosítani a hsz-t
(#) zsozsoX válasza Ricsi89 hozzászólására (») Aug 17, 2010 /
 
Értem a manchester kódolás lényegét, hogy egy bitet kettőben küldök el, akkor 1byte 16bit. De ha az uart be van állítva 8bit-re meg egy stop bitre mondjuk akkor, hogyan küldök el 16bit-et? Ha esetleg valaki tudna egy példa kódot megjegyzésekkel az nem jönne rosszul.
Segítséget előre is köszönöm.
(#) lazsi válasza vaszil29 hozzászólására (») Aug 18, 2010 /
 
Idézet:
„Az LPT port csatija a D-sub25 (LPT1, LPT2) link A COM1 és a COM 2 RS232-9pin (ez is vezérelhető port) COM2 RS232-10p (Hálózati csatlakozó) számitógépek összekötésére, hálózat kialakítására. Esetleg ha tévednék elnézést mindenkitől.”

Akkor pontosítok, mivel én is kissé hanyag módon fogalmaztam.
Az LPTx, COMx tulajdonképpen logikai elnevezések egy gépen. Pl. a COMx lehet akár egy virtuális com port, ami fizikailag USB, de az operációs rendszer soros portként jeleníti meg a felhasználó számára. Általában az operációs rendszerek lehetőséget adnak a portok átszámozására is (COM1 helyett COM5).

A párhuzamos port a számítógépen mindig 25 pólusú anya csatlakozó (nem állnak ki belőle tüskék), DB25F.
A soros port a számítógépen lehet 9 vagy 25 pólusú apa csatlakozó (tüskék állnak ki belőle) DB9M vagy DB25M. (Bár a 25 pólusú hamarabb kiment a divatból.)
A hálózati csatlakozó általában 8 pólusú RJ45-ös, de régebben használatos volt a koax kábeles BNC csatlakozós, illetve létezett olyan is, ami DB15F csatlakozóval rendelkezett.
Két gép összekötésére megfelelő kábel és program felhasználásával bármelyik alkalmas lehet (soros, párhuzamos, hálózati).

Viszont 10 pólusú csatlakozó nem ismerős a számítógépek világából.
(#) fott.tojas hozzászólása Aug 18, 2010 /
 
Sziasztok!

Megépítettem a Topi-féle AVR-doper modult, felprogramoztam, telepítettem a drivert is. AVR Studio látja, de sajnos sem az Atmega324p-met, sem pedig a nagytesót, az Atmega644p-t nem tudom vele programozni. Az azonosítót sem tudom vele beolvastatni, még a leglassabb ISP-frekin sem.

Vkinek vmi ötlete van esetleg arra, hogy mi lehet a hiba?

Köszi,
fott.tojas
(#) Topi válasza fott.tojas hozzászólására (») Aug 18, 2010 /
 
115K alá nem kell menni. Tápellátás, vezetékezés, stb. lesz a gond.

Én használom a programozót 324p-re is.
(#) Robi98 hozzászólása Aug 18, 2010 /
 
Sziasztok!

Lenne egy kérdésem. Nem tudom , hogy egy ATTiny45-ös, 20PU-s ic-nek hány MHz-es órajel a leg megfelelőb. Ha ven valakinek valamilyen válasza, akko annak nagyon örülnék.

Köszi.
(#) luxmanpower hozzászólása Aug 18, 2010 /
 
Hello! Ventillátor fordulatszám vezérlést próbálok csinálni attiny13-al. a probléma a következő: szkópon nézve a kitöltési tényezőt a ventillátor majdnem a maxig lassan forog és csak utánna gyorsul fel.A pwm beállítása a következő: fázis korrekt, nem invertált, 1-es osztás. Órajel belső 9,6Mhz. Adatlap szerint 18,75khz így a pwm frekvenciája. mit rontottam el, Túl alacsony a frekvencia, vagy valami más? Köszi!
(#) vaszil29 válasza vicsys hozzászólására (») Aug 18, 2010 /
 
Okéé!!
Elindult a dolog, csak az (LPT)-t elfelejtettem kijelölni.
Az normális, hogy nagyon lassan megy a betőltést?

(majdnem hoztam egy hevítőt )
Lehet, hogy a microkontroller megérezte
(#) vicsys válasza vaszil29 hozzászólására (») Aug 18, 2010 /
 
Szólj ha sikerült!
(#) luxmanpower válasza luxmanpower hozzászólására (») Aug 18, 2010 /
 
Közben rájöttem hogy túl magas volt a frekvencia
(#) fott.tojas válasza Topi hozzászólására (») Aug 19, 2010 /
 
Lábkiosztások rendben.

A Tápellátás alatt mit értesz? Én úgy használom, h a programozó ugye USBről kapja a +5V-ot, a programozott áramkörnek pedig van saját +5V-os tápforrása (a táphoz lévő jumpert természetesen kivettem).

Hol keresgéljem a hibát ezek után?
Következő: »»   260 / 840
Bejelentkezés

Belépés

Hirdetés
XDT.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