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   50 / 840
(#) Dudus válasza Csuszka hozzászólására (») Márc 14, 2008 /
 
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-
(#) Kefeúr hozzászólása Márc 14, 2008 /
 
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

(#) vegyészmérnök válasza Kefeúr hozzászólására (») Márc 15, 2008 /
 
Minden rendben van az áramkörrel? Pl. kap tápfeszt az Attiny13 programozáskor? Persze a hiba a programban is lehet...
(#) alex.taylor válasza Kefeúr hozzászólására (») Márc 15, 2008 /
 
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?
(#) PHARO hozzászólása Márc 15, 2008 /
 
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.
(#) fecus válasza PHARO hozzászólására (») Márc 15, 2008 /
 
Szia!
Hol kaptál Attiny45-öst? Nincs ott 85-ös?
Köszi.
(#) PHARO válasza fecus hozzászólására (») Márc 15, 2008 /
 
(#) fecus válasza PHARO hozzászólására (») Márc 17, 2008 /
 
Köszi. Nincs DIP. Nekem meg az kellene 2-3 db kísérletre.
(#) zeusz7 hozzászólása Márc 18, 2008 /
 
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.
(#) TavIR-AVR válasza zeusz7 hozzászólására (») Márc 18, 2008 /
 
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.)
(#) zeusz7 válasza TavIR-AVR hozzászólására (») Márc 18, 2008 /
 
Ú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.
(#) zeusz7 hozzászólása Márc 18, 2008 /
 
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?
(#) TavIR-AVR válasza zeusz7 hozzászólására (») Márc 18, 2008 /
 
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ő.....
(#) zeusz7 válasza TavIR-AVR hozzászólására (») Márc 19, 2008 /
 
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?
(#) TavIR-AVR válasza zeusz7 hozzászólására (») Márc 19, 2008 /
 
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?
(#) Armageddon89 hozzászólása Márc 19, 2008 /
 
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ó
(#) Norberto válasza Armageddon89 hozzászólására (») Márc 19, 2008 /
 
Jééé, ezzel pont tegnap szórakoztam laboron
(#) Armageddon89 válasza Norberto hozzászólására (») Márc 19, 2008 /
 
végre... idéig is sejtetem vagyunk itt egy páran a KVK ról de mostmár tuti
(#) Topi válasza Norberto hozzászólására (») Márc 19, 2008 /
 
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
(#) zeusz7 válasza TavIR-AVR hozzászólására (») Márc 20, 2008 /
 
É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.
(#) huba hozzászólása Márc 20, 2008 /
 
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...
(#) huba válasza huba hozzászólására (») Márc 20, 2008 /
 
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.
(#) gtk válasza huba hozzászólására (») Márc 20, 2008 /
 
Namost akkor mit hova es hogyan kotottel?
(#) gtk válasza huba hozzászólására (») Márc 20, 2008 /
 
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.
(#) huba válasza gtk hozzászólására (») Márc 21, 2008 /
 
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.

P3200306.JPG
    
(#) TavIR-AVR válasza huba hozzászólására (») Márc 21, 2008 /
 
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....)
(#) huba válasza huba hozzászólására (») Márc 21, 2008 /
 
Rájöttem. Nem olvastam eleget utána szükségem van egy infra kodoló, dekódolóra. Adatlapés Rajz
(#) huba válasza TavIR-AVR hozzászólására (») Márc 21, 2008 /
 
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
(#) zeusz7 hozzászólása Márc 23, 2008 /
 
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
(#) digimann válasza zeusz7 hozzászólására (») Márc 24, 2008 /
 
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.
Következő: »»   50 / 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