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
A programozást megtanulni nem konkrét eszközön kell. Az algoritmizálás és az így kialakuló struktogram optimalizálása nem függ a processzortól ( pici túlzással )
Ha ez megvan akkor implementálni egy adott eszközre már "gyerekjáték". És ha egy eszközön már szereztél rutint akkor bizony annyi, hogy veszed az adatlapot és programozod. Nem biztos, hogy a kód rögtön működik, de debuggerrel és pici rutinnal hamar megtalálod a hibát. -szerintem-
Hello mindenkinek!
Van 1 stk 200 -am , és ehy AtTiny 13 -am. A kérdésem az lenne , hogy programozáskor miért nem történik semmi? Bascommal programoznék , a beállításokat átnéztem többször is . Valamit csinál mintha megírná a procit de utána nem működik az áramkör ! Egy alap ledes villogóról van szó "Ledflasher " a neve , mint példa program
Minden rendben van az áramkörrel? Pl. kap tápfeszt az Attiny13 programozáskor? Persze a hiba a programban is lehet...
szia! a bascom programozójában,van fönt 1 olyan rész, ahol kiirja hogy milyen IC-t ismert fel.Neked jó IC-t ir ki?Ha a tőle jobbra lévő gombra kattintasz, akkor felismeri az AVR-t?( próbáld meg hogy elálllitod az AVR tipusát,és rákattintasz a gombra hogy ismerje fel,ha az AVR jól van bekötve akkor,fel kell hogy ismerje).
Kristály jól van beállitva,fuse bitekhez nem nyúltál?
Sziasztok!
ATTINY45-ötbe szeretnék programot égetni.Még nem használtam ilyen áramkört,nem igazán ismerem.Tudnátok ajánlani egy egyszerű programozót hozzá?A legegyszerűbb is jó,csak próbálgatom... Programnak AVR studio-t gondoltam.
Köszi. Nincs DIP. Nekem meg az kellene 2-3 db kísérletre.
Hello!
Attiny2313-at szeretnék használni 32.768KHz-es külső oszcillátorral. Működhet ez így? A fuse bit beállításakor külső oszcillátornál az adatlap 0.4MHz-nek írja az alsó határt elvileg.
Hát, necces. Legalábbis a programozása, mert az az órajel max 1/4-vel lehet....
Cmos IC, így akár meg is állítható az órajel.... Lehet 1-2 belső része nem fog működni az alacsony órajel miatt (pl. UART, I2C stb.)
Úgy néz ki, hogy nem működik ilyen alacsony frekvenciájú kristállyal. A belső 128KHz-es oszc. mennyire pontos? Időt szeretnék mérni.
128KHz-es belső oszcillátorra állítottam és nem tudok hozzáférni Ponyproggal. Milyen frekvenciával programoz a ponyprog? Ezek szerint nagyobb, mint 128KHz/4... Át lehet állítani vhogy?
Próbáld meg a TwinAVR-l.
A Ponynál van valami olyan, hogy kalibrálás... mintha ott lett volna. Időmérés? A Timer miért nem jó? Ott lehet túlcsordulás és változó léptetés.... És normális quartz lehet mellette.... A belsőt pontosságra felejtsd el. RC tag, a pontossága erősen hőfokfüggő.....
Real Time Clock-ot szeretnék csinálni, ezért szeretném minél alacsonyabb frekvencián üzemeltetni, de lehetőleg minél stabilabb órajellel. Tudom, hogy vannak olcsó jó soros RTC-k, nem ez a lényeg, ezt szeretném most beüzemelni. Sikerült a ponyprogot az ini fájl segítségével alacsony programozási frekvenicára állítani és a belső 128KHz-es órajel mellett tudtam programozni.
Az adatlap szerint alacsony frekis külső oszcillátor esetén ne kristályt, hanem kerámiát használjak. Eleve nem értem, hogy miért csak 0.4MHz-től írja az adatlap a kristály oszcillátort, ha létezik alacsonyabb frekvenciás is és nem értem miért ne tudna valami lassabban működni?
RTC esetén én az adatlaptól nem nagyon térnék el...
A belső timer miért nem jó? Ezzel pontosan tudsz "tick"-et léptetni pl. másodpercenként. Itt a túlcsordulás megszakítást generál a főprogramban, ami a, a chipet alvó állapotból ébresztheti b, főprogramtól független c, könnyebben kezelhető. A számolástól 2 tick közt nem függ az eltelt idő! Ha az áramfelvétel miatt gondolkodol a kristályban, akkor is érdemesebb 1-2 MHz-t berakni. Közel azonos a működési áram, DE: így hosszabb ideig működik! Ami az adatlapban van: lehet hogy valami szivárgó áram miatt nem jó, vagy a kondik a 32kHz-n nem mutatnak jól, és az lehet a gond? Esetleg kis kondi értékváltozás is nagy rezgésszámváltozást okoz a szokásos 20-30 ppm-l szemben?
Hi all!
ajánlanék egy oldalt, lehet már megteték elöttem de hátha nem érdemes körülnézni rajta, mi ezt tanuljuk... van rajta programozó kapcsolási rajz is... Kandó
Jééé, ezzel pont tegnap szórakoztam laboron
végre... idéig is sejtetem vagyunk itt egy páran a KVK ról de mostmár tuti
Hát én is láttam ezt a csodát, sőt használnom is kellett. Ötletnek nagyon jó, de a kivitelezéshez illetve a tervezéshez lett volna szerényen egy-két tanácsom
Pl. a nyákon miért kellett 90°-ban elhelyezni a csatlakozókat? Egyik oldalon a soros, másikon az USB-ről a táp... Egy fél centivel nagyobb nyákon elfért volna egymás mellett... Azonkívül így összekeverni a portokat. Egyel nagyobb procin elfért volna rendesen az a 8 led és az a pár nyomógomb... Arduino. Azt kellett volna követni. Ha ezt olvassa valamelyik oktatónk, lehet holnap kirúgnak
Én úgy olvastam az adatlapban, hogy csak idle sleep módban megy belső timer, amivel időt lehetne mérni, viszont ebben a módban teljes áramfelvétellel megy, tehát nem alkalmas RTC-nek.
Van két TFDU4100-ám (remélem nem irtam el..) ezekkel kéne összehozni UART kommunikációt két proci között. Az infra adó-vevőket beüzemeltem, megfelőlen invertáltam a be és kimeneteket, de a tfdu-ba a vevőrész csak a lefutóélre vagy felfutó? javitsatok ki, ad ki magából egy tüskét. Igy bekötve az egyikkel kiküldött jel nem úgy érkezik meg ahogy kéne, ezért nincs kommunikáció Valaki foglalkozott infra kommunikációval? Kéne valami ötlet...
Helyesbitek, mindegyik lefutó élre van egy tüském. Van egy ojan érzésem hogy ezzekkel a tfdu-kall nem fog megoldódni a koommunikációm, hacsak nem irok saját protokolt Pedig jó lett folna proci nélkül illeszteni PC-hez.
Gyorsan atfutottam az adatlapot.
PChez illesztheted proci nelkul, csak MAX232 -vel szintillesztest kell csinalni. Ha AVR-AVR koze akarod, akkor nem kell szintillesztes. Az ic tapjat allitod a megfelelore, ennek megfeleloen all be a H/L szint is, ha esetleg 3.3Vos avr-t hasznalnal. Aszinkron atvitelt tud 115.200 bit/sec configuracioval. Adatlapot meg at kell nezni, de szerintem egy start bit es 8 adatbit config kell az avr UARTnak.
Bocsánat akkor leirom részletesen. Két kicsi nyákra megépitettem az adatlapban levő kapcsolást. A Tx Lábra jelet adva van jelem a másik RX-én. Ekkor ráötöttem a proci Soros kimenetére és rányomtam egy programot hogy fojton küldjön ki egy karaktersort. Mivel amikor nem küldtem semmit akkor is világitott az adó infrája, ezért egy kapuval invertáltam a Tx re menő jelet és az Rx-böl érkezőt. Mivel nem akart kommunikálni előkaptam a szkópot és rájöttem hagy nem 1-1 ben viszi át a jelet, hanem lefutóére kiad egy tüskét. Lehet hogy kéne babrálni a sensitivity control lábat?
A képen az alsó az adóra menő jel, a felső amit a vevőmodul vesz.
Az IRnek saját protokollja van, nem igazán lehet így átvinni. a ChipCadnál van (MCP2120 (?)) TxRx->IrDA illesztőIC.
A PC fele adatátvitel miért nem jó hagyományos módon? Elvileg a PC megeszi a TTL RS232-t is (csak invertálva kell kiküldeni....)
Közben rájöttem. Azért van szükségem infra adatátvitelre mert az adatátvitelnek nem tudok biztositani fizikai összeköttetést. Egy inteligensebb Propeller Clock-ot szeretnék összehozni
Két AVR közti kommunikációhoz szeretném az SPI/USI -t használni. Az egyik atmega128, azzal nincs probléma, az adatlap elég egyértelmű, ő lenne a slave. Viszont a master egy attiny2313 lenne és marhára nem igazodok ki az adatlapon. Annyit szeretnék, hogy ő legyen a master és nyomja ki a clockot meg az adatot és olvassa be, amit kell, de az órajel beállítással nem boldogulok. Két regiszter van: USICR,USISR. Miket kéne beállítani bennük? Azt szeretném ha a belső órajeltől függően a lehető leggyorsabban shiftelné ki az adatokat, de az adatlap elég zavaros.
köszi
A leggyorsabb megoldás a 141.oldal tetején van, és egy lassab a 140.oldal alján, de az csak egy általános regisztert használ.
Ha jól értem, a 3 madzagos változatot használnád, szinkron soros átvitelhez. Két féle megoldásod van az órajel generálására: a TIMER0 overflow vagy a szoftveres megoldás. A gyorsabb a szoftveres, ezt írja az adatlap is. USISR regiszter: USIOIF - Van egy saját 4 bites számláló, ez a flag jelzi a túlcsordulást, hogy megérkezett/átment a bájt. A számlálót és shift regisztert az USICR regiszter USICS1, USICS0, USICLK bitei által meghatározott forrásból lépteti. (táblázat) USICR regiszter: USIWM1..0: Wire-Mode - ez nálad Three-Wire Mode, tehát az USIWM0 bitre kell egy egyest írnod. USICS1..0: Órajel forrás - a táblázat alapján kell kiválasztanod a megfelelőt. USICLK: Ez a bit lépteti a shift regisztert, és a számlálót ha az USICS1..0 = 0. Ha az USICS1 = 1, akkor külső órajel forrás van, és ez a bit határozza meg, hogy a countert léptetheti-e az USITC bit. USITC: Ez a bit pedig az UCSK portlábat billegeti. Külső órajel esetén a countert is. |
Bejelentkezés
Hirdetés |