Fórum témák
» Több friss téma |
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
giveio fel van rakva, ha nem volna, akkor nem tudná megnyitni az lpt port-ot. (egyik előző hiba)
Akkor azt mondod, nem a programommal van a gond, nem is a fusebitekkel, hanem a programozómmal? Keresek ic-t és valószínű összedobom.
Sziasztok !
Nem olyan regen talalkoztam egy erdekes problemaval. Az ATTiny2313-la szerelt ibuttonos interfeszeim egyikeben, az AVR/EEPROM elso, 0. cimtol levo 6 byteos ibutton-bejegyzes "megserult". ( a tobbi 3x6 byte eeprom bejegyzes nem serult) Nem volt lehetosegem kiolvasni, megnezni hogy pontosan milyen adat kerult a helyere, vagy hogy a 6 bytebol esetleg melyik serult,.. Ujra felprogramoztam ra az ibuttont es mukodik. Kivancsi lennek, valaki tapasztalt -e eeprom bejegyzes eltunest, esetleg mi lehet egy ilyennek az oka?
Igen. Pont egy hete javítottam meg egy áramköröm régről ismert betegségét. Mint később kiderült, ahogy csökkent a feszültség, képes volt meghívódni egy olyan rutin ami egyébként csak egy buszon bemenő helyes adat (ott burst, data, crc stb... tehát ezeket lazán átugorva) után tudna.
De ez meghívódott és felülírta az EEPROM-ot. A hibát nagy nehezen elő tudtam hozni, egyszerűen lassan tekertem le a labortápon a feszültséget, és lám.. egyszercsak felvillant a programozási módot jelző led és irogatott az EEPROM-ba. Brownout! Általában feszültség tüske hatására képes elmászni a kód végrehajtás. Ha a Brownout benne van, akkor a negatív feszültség ingadozások ellen jobban védett a processzor, így jobban védett a program végrehajtás elmászása ellen.
Értem mi a brownout, de akkor mi volt konkrétan a megoldás? A legmagasabb szintre állítottad, vagy kikapcsoltad a BOR-t?
Koszi ! Soha nem gondoltam volna, hogy megtortenhet ilyesmi.
Bekapcsoltam. Az áramkör 5V-os, így 4V-ra.
A konkrét hiba az volt, hogy fesz ugrálásnál, program elkóricál. Megoldás: Fesz. csökkenésre azonnali automatikus reset. Azelőtt az áramkörben nem volt Brownout engedélyezve. Utánna pedig nem tudtam előidézni mégegyszer a hibát, pedig a hiba előidézési technológiám 100%-os találatot adott minden próbánál. Ergo. Tényleg ez volt az EEPROM gond.
hi!
vettem egy attiny45-ös avr-t (első próbálkozás volt) és véletlenül sikerült cksel fusebitet elrontanom. nem tudom már milyen értéket adtam neki, de azóta nem tudom se írni sem olvasni szegényt. dobhatom ki a kukába vagy még vissza lehet hozni? avreal progit használok "FBPRG" adapterrel.
Sziasztok csak egy rövid kérdésem van:
Hány mA-rel lehet terhelni egy DIP tokozású amega88-as kimenetét? A választ előre is köszönöm.
Az adatlap alapján:
Absolute Maximum Ratings: DC Current per I/O Pin.................... 40.0 mA DC Current VCC and GND Pins......... 200.0 mA PDIP Package: 1-The sum of all IOH, for all ports, should not exceed 200mA. 2-The sum of all IOH, for port A0-A7, should not exceed 100mA. 3-The sum of all IOH, for ports B0-B7,C0-C7,D0-D7 and XTAL2, should not exceed 100mA. A normális 20mA, amelyet szolgáltatni tud és el is tudja nyelni.
Sziasztok!
Lenne egy olyan problémám, hogy megépítettem ezt.Működik, az időt be is tudom állítani a nyomógombokkal frankón, csak éppen nem jár.Ugyanazt mutatja folyamatosan.Szerintem az oszcillátorral lehet probléma.Lehet, hogy hülyeséget mondtam, de ebben a témában még kezdő vagyok és nem tudom, mit tegyek. Előre is köszönöm szépen a segítséget!
Valószínű, hogy sikerült magam kizárni az avr-ből. Most már annyira sem működik, mint eddíg.
Ez szép és jó, meg is építeném, ha nem 22 km re lenne a legközelebbi alkatrészbolt.
Akkor érdemes keresni olyan rajzot, ami csak tranzisztoros, nem tudom otthon mennyi bontott alkatrészed van, de többnyire az a pár alkatrész megtalálható otthon.
Ujjabb erdekesseg. Tiny2313: 8MHz belso orajel, T0 presc. 8, OVF interrupt ido 260uS. Ehelyett 484uS a valosagban, a szkop szerint. Main -ban vegtelen ciklus (INTok kikapcsolva), XORal I/O ki-bekapcsolgatas: 694 Khz a mert felperiodus. Nem keves egy kicsit? Hogy letezhet ez?
Hat ez teljesen lefarasztott.. ATTiny2313 datash:
Idézet: Nekem nem igy tunik.. vagy nem jo a lfuse tablazat. A vegen irtam egy egyszeru programot, ami a loop-ban XORolja a kimenetet. Megszamoltam az asm utasitasokat, megneztem azok ciklus idejet es megmertem az I/On a szint-valtas idot. Ez 1.5uS 0xE2 beallitas mellett. „The default setting of CKSEL3..0 results in internal RC Oscillator @ 8 MHz.”
Es itt is kijott hogy 4MHz 0xE2 beallitassal. Itt a CKSEL 3..0 = "0010", ami a clock sources szerint is 4MHznek felel meg. (A tablazatban is 0010 van a CKSEL 3..0 -nak default-kent megadva..)
Szoval egyszerusitve az elobbit:
-Az altalam bongeszett attiny2313 adatlapban a low fuse byte "default value" oszlopa helytelen, ami az orajel beallitasokat illeti (cksel 3..0)Ez int. 4MHz orajel beallitasnak megfelelo, nem int.8MHz-nek. -Az elozo szamolgatas helyett eleg lett volna tudni hogy a belso oszcillator orajelet ki lehet rakni I/Ora, megpedig a CKOUT fuse bit beallitasaval. (Hatha valakinek hasznos lesz..)
Ezt a linket én küldtem neked, vagy magadtól találtad meg? Én is ez alapján építettem meg a műszívemet! A kicsatolókondi 100nF-os értéket képvisel nálam és működik! :yes:
Üdvözletem.
Csak beírtam gugliba a "transistor oscillator" szavakat, és első találata, mikor láttam hogy ez az, amit Te is építettél, és működött, bátran mertem ajánlani.
Sziasztok!
Most kezdek ismerkedni az ATtiny családdal és ehhez kapcsolódóan van pár kérdésem. Korábban építettem egy Miduino-t, ami egy Arduino alapú MIDI eszköz. Ennek a programozásához az alábbi kábelt használtam: http://www.ftdichip.com/Products/EvaluationKits/TTL-232R.htm Ahogy nézegettem a hozzászólásokat, fogom tudni használni ezt a kábelt az ATtiny AVR-ekhez is, de azért örülnék, ha valaki meg tudná ezt erősíteni! Köszönöm, Pepe
Lehet hogy hülye kérdés amit felteszek, de egy AtMega48 uC-vel ismerkedek. Az SBRS parancs nem hajlandó a SREG eggyik bitét sem elfogadni, mint ugrás feltétel. Van-e valamilyen parancs, amivel ezt meg lehetne kerülni, anélkül, hogy egy BRANCH-hoz újjabb címkét kellene beszúrni? A branch elvileg egy relatív címre ugrik, tehát nincsen olyan, hogy pl "BRNE 1"?
Igen, de csak módosított AVRDUDE segítségével.
Az FTDI lábait BitBang módon kell kezelni...
Sziasztok!
Kicsit offos, de mi a legolcsóbb módja hogy egy 5V-ra kitalált AVR-t 2x1,5 voltos elemről hajtsak? Előre is köszi!
A, Az AVR 2.7V vagy 1.8V (L sorozat) kepes jarni .
B, Dc-dc konverter (Step Up)
igen, ez a része egyértelmű volt
Valami konkrét típus érdekelne, ami itthon is kapható. Nekem nem sok tapasztalatom van ezekkel (0) ezért kérdem.
Mondjuk az MC34063 már nem annyira drága, 1,5A, 107Ft
Ú, ez jól hangzik. Köszi.
Igazából valóban figyelmetlen voltam mert maga az AVR 2,7V-ról is elciripel nekem. A gondom igazából az hogy van a kapcsolásomban egy 5V-os relé és nem tudom hogy az hajlandó-e kapcsolgatni alacsonyabb feszkón. Pláne, hogy volt még egy olyan ötlet hogy nem is két cerka elemről járatnám hanem két nikkel-metálhidrid cuccról ami névlegesen csak 1,2V. Persze talán ha púposra töltöm őket, akkor valahogy kijön belőlük 1,35V darabonként... |
Bejelentkezés
Hirdetés |