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
Szia!
Ajánlom a 3,2768MHz-es kristályt, 1024-es előosztóval, majd a TIMER1-el (16bit) 3200-al tovább osztani, ekkor garantáltan 1sec-enként lesz egy megszakításod. Procidnak is lesz sebessége, és ez így eléggé pontos is. Üdv Kiborg
Szerintem ugyanúgy tudna mérni 8MHz-es kristállyal is, 256-os előosztóval 31250 jelet kell leszámlálni.
Tehát OCR1A=31249, CTC mód(asszem 3-as?), és minden túlcsordulásnál növelheti a másodperc számlálót. Az szintén 16 bites legyen mert a fél órához 1800-at kell leszámlálni. Ha interruptból birizgálod a változót akkor az feltétlenül volatile legyen:
Köszi a választ, azt hiszem ki fogom próbálni azt is, viszont először még szeretném megpróbálni visszahozni a halálból az előbb belinkelt kapcsolással. Csak nem boldogulok sehogy se.....
Sziasztok!
Egy példaprogram után kutatok, ami megszólaltat egy ilyen instrument shield-et. Sajnos minden amit eddig találtam Arduinóra készült nekem viszont olyan nincs, ezért ATmegával (8 vagy 16) szeretném beindítani, mindössze egy akármilyen hang erejéig.
Helló!
Köszönöm a gyors választ, az imént belinkelt oldalon található kódot álltam neki átírni (ezt). Valamennyire sikerült megértenem hogyan működik és megszületett a működő példány. Csatolom a kódot hasonló problémába ütközők kedvéért. ![]()
Sziasztok,
Osztásban szeretném a segítségeteket kérni. Konkrétan Attiny2313 + HC-SR04 ultrahangos távolságmérő. A kód végén van egy int értékem, ezt távolságra így kellene konvertálni: érték / 58, amit LCD-re ki is íratnék. Az a probléma, hogy egy float distance = duration / 58.275 és máris 97 százalékban tele van a 2kB. Az stdlib.h div függvényét nézegettem, ami visszaad egy hányadost, és egy maradékot, de azzal meg vagyok lőve, mert amikor a maradékot tizedes törtté alakítanám, az megintcsak egy osztás. Hogy lehetne ezt megoldani?
Nem kell float valtozokkal szamolni, eleg az int.
A tavolsagot szamold mm-ben, ekkor:
Reszletesebben lasd itt: Bővebben: Link
A T2313 zsákucca fejlődési szempontból.
Kb 1 éve jelent meg a T4313. Ebben 4k van és csereszabatos a T2313-l.
Ennyi erővel minden AVR zsákutca, hiszen mindenre van/lesz nagyobb, gyorsabb, szebb alternatíva!
![]() Az ATTiny4313 nagyon újnak számít az ősöreg AT90S1200/AT90S2313/ATTiny2313 vonalhoz képest. Az AVR-es kapcsolások kb. harmada-negyede rá épít, nem hiszem hogy 1-2 éven belül mindenki váltani fog. Kivéve, ha az ára lemegy az ATTiny2313 alá. Volt már erre is példa, most az ATMega88 ára ment le rendesen. persze nem a HESTore-n... ![]()
A csereszabatosság, ha memóriakinövés esete áll fenn. A T2313 vonalat a Atmel elhanyagolkta. Míg a M8->Mx8 családot és számos másikat növesztette/skálázta, a T2313/90S2313 esetén ez elmaradt...
A régi kiadás miatt persze, hogy sok kapcsolás épül rá... ![]()
Fejlődés szempontjából a Bascom a zsákutca, nem a 2k flash...
![]()
Ezt vitatom
![]() De ne menjünk bele Linux/Windows hitvitába. Csak itt: ASM, Gcc, Keil, arduino, microbasic, micropascal, bascom, fastavr témák futnak.... Nyáktervező: eagle, proteus, és még 10-15 van.... ![]()
Ez jó ötlet volt, köszi
![]() Igen, lehet akármilyen zsákutca vagy nem, 4 biten egy LCD-t vezérelni tökéletes, meg 1-2 szenzort rákötni, és mindezt elérhető áron, és a kódnak is (legalábbis amiket egyelőre írok) bele kellene férnie 2k-ba, nem vágyok komolyabbra
De még egy tisztességes AVR programozót is lehet vele építeni, jól mondom?
![]()
Ez egy kicsit zavaros nekem. Ha a 4313 a 2313 tovabbfejlesztese, akkor hogy lehet a 2313 zsakutca?
![]()
Nézd meg a főbb családokat, hogy mennyire skálázható:
- T13-T25-T45-T85 (1...8k/8lábas tok) - M8-M48-M88-M168-M328 és a Mx8P sorozat (28/32 lábas tok, 4...32k) - M64-M128-M1281-M2561 És ezek viszonylag régóta elérhetőek - 90S1200-2313-T2313-T4313 (2 tag (+2 kihalt) és vége) És az utóbbi 1 évben lett bővítés...
Robi, te kevered a szezont a fazonnal...
![]() Maga az AVR a család, hiszen azonos magra épülnek, különféle periféria konfiggal.. Innentől azon megy a vita, hogy amibe nem férsz el (különféle okok miatt...), az zsákutca?? Nem, ez nem zsákutca, ez rossz hw választás... ennyi ![]() Ha ezzel nem értesz egyet, akkor világosítsd fel őket, hogy vigyázzanak, mert zsákutcába vezet a fejlesztésük... Ide írhatsz, egyébként nagyon készségesek : support@atmel.com ![]()
Ja és ez a "csereszabatosság" dolog is érdekes...
Már jó ideje abból élek, hogy nyaggatom az AVR-eket, és még sok mást is, de ezzel még nem találkoztam... Már egy nagyon kis szériás fejlesztésnél is pl.~100db, a fejemet vennék, ha benyögném, hogy: Há' ez már nem fér bele... Magyarul: jól kell választani, ennyi. Igaz, ez egy hobbival foglalkozó oldal. Épp ezért nem értem ezt az észosztást...
Felenk ezt lassan fejlodonek hivjak. Ennek ket oka lehet: nincs ra igeny vagy nagyon eltalaltak ezt a szegmenst es igy nincs szukseg sok variaciora.
Jogos!
Fáradtan fogalmazni sem tudok ![]() A saját fejlesztés és hobbiprojektek kapcsán zsákutca... A hibás processzorválasztás korlátozza a SW-fejlesztést. És ha az elején félreválasztasz, akkor zsákucca... A procicsere is lehet megoldás.... ha van miből ![]()
Sziasztok!
Meg rudná nekem valaki mondani, hogy Atmega8L 8mhz -en külső kristállyal, 3,3v opn stabilan üzemel? A dokumentáció szerint 2,7V alsó határig üzemképes... Csak nem vagyoik benne biztos, hogy 3,3V on működik e maximális frekvencián... Ha esetleg a 3,3V on futó avr 5V-ot kapna adc vagy digitális I/O bemenetén, akkor tönkremenne? Vagy elviseli ekkor is az 5,5V ot, amit a pdf maximális működési feszültségnek ír? Segítségeteket előre is köszönöm!
Igen, 3.3V@8MHz stabil.
A bemenetek Vcc+0.7V lehet. Az 5V határon kívülinek számít. Ha kicsi az áramerősség, akkor a belső védődióda megfoghatja (de nem szabályos megoldás).
Stabil, működik. Kivéve ha a BODLEVEL 4.0V-ra van állítva és a BODEN bekapcsolva.
Gyári szűz IC-nél szerencsére nincs, így menni fog! 5V/3.3V: az AVR védődiódái megfogják, de nagyobb bemenő áramnál tönkremehet! 1: Használj ellenállást! Nem szabványos, de 5mA-t lazán megeszi a dióda! (5V-3.3V-0.6V)/5mA = 220Ohm 2: használj leválasztó kapcsolást, pl. mint a sparkfun-os FET, vagy NPN tranzisztorosat(JTAG topikba keresd)
Köszönöm a gyors válaszaitokat, sokat segített!
Igazából egy btm-222 es bluetooth modullal kötöm össze majd a pc vel uart-on keresztül a vezérlőt, a vezérlő perifériáinak (ledek,'RC' szervó) elég a 3,3V, és így akkor a szintillesztéssel nem kell foglalkoznom(mivel ez a modul uarton 3,3V-0 jelszintekkel kommunikál), 1 feszültségstabilizátorról mehet az egész. Remélem jól gondoltam...
Rendben lesz így.
Sziasztok!
Egy kis segítség kellene. egy időzített kikapcsolást szeretnék megoldani Attiny45-el. Annyi lenne a program ha az egyik lábát (PB4) egy kapcsolóval tápra kapcsolom akkor az egyik lábán (PB3) kapcsoljon be egy tranzisztort majd egy idő elteltével (1 perc) kapcsolja ki a tranzisztort. Ezt a programot C-ben ti hogy írnátok le minél egyszerűbben (lehetőleg timer inicializálás nélkül). Én ezzel próbálkoztam. de nem ment az időzítés sehogy se.
a csatolt kapcsolással gondoltam megvalósítani. Tudtok nekem ebben segíteni?
Mondjuk a Bascom-AVR-ben kb. ennyi. Arról nem szólt a kiírás, hogy a gomb újramegnyomás mit jelent...
Külső lehúzónál arra gondolsz, hogy az a láb alapból egy ellenállásal földre van húzva és az ellenállás előtti pontot ha magasra húzom a gombbal akkor indítom az időzítést.
A gomb újboli megnyomása most lényegtelen, később az a cél, hogy újrasindítsa az időzítést. C-be esetleg valaki megoldást? |
Bejelentkezés
Hirdetés |