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   57 / 840
(#) trudnai válasza Donnie hozzászólására (») Jún 4, 2008 /
 
Szia Donnie,

Idézet:
„Az AVR hihetetlenül rugalmas jószág, én is ezért döntöttem emellett a PIC-kel szemben.”


Ezt ki tudnad kicsit fejteni, hogy mik az AVR elonyei PIC-kel szemben? Jomagam PIC-ezek, csak erdekelnenek mas MCU-k is, epp ezert kezdtem el olvasgatni ezt a topicot.

Koszi,
Tamas
(#) TavIR-AVR válasza trudnai hozzászólására (») Jún 4, 2008 /
 
Bejelentkezési idő lejárt!
A hozzászólásod nem került be a fórumba!
Ezt írtad:

Amiért nálam az AVR lett:
- Azonos rendszermag a Tiny11....ATMega2560 chipekben,
- egyszerű és azonos programozó az egész családban (STK200),
- 2.5 (1.8)....5.5V tápfeszülltségtartomány,
- átlátható perifériakezelés,
- könnyű váltás a családok között (Tiny2313->M8->M128),
- rugalmas feljesztőkörnyezet (ASM, Pascal, Basic, C),
- Debug (JTAG)

Ami nálam döntött:
- egyszerűbb programozó, melyet nem kell újraépíteni ha újabb IC jön ki
- Basic programozás, de ha kell ASM is mehet (betétként)
- átlátható termékkínálat
- a datasheet 2/3-a nem errata, ahol a silicon verziszámot kell a fejlesztésnél kiolvasni....


Kissé elfogult vagyok....

Robert
(#) davidov válasza wg_kezdo hozzászólására (») Jún 4, 2008 /
 
Itt össze tudod hasonlítani, hogy melyik uC milyen perifériát tartalmaz:
Klikk

(Nem is tudtam, hogy már RTC is van a megákban....)
(#) Donnie válasza trudnai hozzászólására (») Jún 4, 2008 /
 
Kedves Tamás,

semmiképpen sem szeretnék vallásháborút kirobbantani.
Egyszerűen az döntött, hogy kézreállt a doksik stílusa, a proci viselkedése, a különböző regiszterek és flag-ek elérése nem volt agyonkomplikálva (én azt szeretem, hogy "megnézem és használom", a PIC-es szakik leírásaiban meg találtam több utalást arra, hogy mikor melyik írható-olvasható, illetve tapasztalat szerint mikor nem illik hozzáérni).

Amikor kifutottam a memóriából, simán áttettem egy nagyobb prociba, és 1-2 sor értelemszerű átírásával már áramkörhöz(!) tudtam illeszteni ugyanazt a forráskódot. (Robi: jé, fel sem merült bennem, hogy nem lesz jó hozzá a programozó, de most, hogy írtad... )

Ezen felül talán még az szólt bele, hogy pár éve egy profi PIC-es mellett "inaskodtam" végig egy műszerfejlesztést, és hatott rám az ottani misztikus hibagyűjtemény (programozás és futás alatt egyaránt).

Szóval saját szakállamra AVR-ben kezdtem gondolkozni, és eddig egy olyan furaságot találtam csak, amire nem tudtam a választ, de könnyen meg tudtam oldani más kóddal. De ez inkább a kezdők kötelező szívása volt...

Száz szónak is egy a vége: nekem ez vált be, ez állt kézre elsőre, és azonnal munkára tudtam bírni. (Pedig magamat ismerve rögtön hármat vettem elsőre, amiből kettőt ismerkedés általi halálra itéltem. Túlélték... )

Donnie
(#) trudnai válasza TavIR-AVR hozzászólására (») Jún 4, 2008 /
 
Koszi, nem baj, ha elfogult vagy Ezek alapjan mondjuk nem sok kulonbseg lehet, hisz PIC-nel sem kell sok programozot hasznalni, ott is hasznalhatsz rengeteg fejlesztoi kornyezetet es nyelvet, ott is valami 2V-5.5V a mukodesi tartomany. Ami neha nehezseget okoz, hogy tul sok fajta van es kivalasztani azt amelyik a legjobban megfelel az adott celokra - itt nem elsosorban a core az ami kulonbozik, hiszen csaladonkent az is megegyezik (8/12, 8/14, 16 es 32 bites), hanem a beepitett periferiak / modulok, labszamok amik leginkabb kulonboznek. Mondjuk az errata kicsit tulzas, de teny, hogy ha valamit elszurnak vagy kijavitjak egy ujabb sorozatnal (ami pl A jelolest kap) vagy egyszeruen csak leirjak hogyan kell lekezelni a problemat firmware-bol, vagy mikent kell az aramkort illeszteni.

AVR-nel nem szokott elofordulni, hogy javitott MCU-t hoznak ki? Mit ertesz atlathato periferia kezeles alatt? A "konnyu valtas csaladok kozott" alatt azt erted, hogy pl egy 8 bites MCU-rol ha at tersz 16 bitesre akkor az nem okoz tul nagy fejtorest?
(#) wg_kezdo válasza TavIR-AVR hozzászólására (») Jún 4, 2008 /
 
Én is ezért szeretnék inkább az AVR-el foglalkozni valahogy kiforrottabbnak érzem, mint a PIC-et, már amennyit olvastam a kettőről.

Találtam demo panelt is meg induló készletet, de mivel a felét sem használnám szerintem ki ezért kicsit sokallom az árát. LCD, hőmérő, RS232 meg ilyesmire nem igazán lenne szükségem.
Viszont nem vagyok annyira még otthon, hogy építsek egyet magamnak.

Az ATMega8 lenne szerintem az ami nekem kell, ha jól láttam ebben van beépített A/D konverter a 6-8 csatorna mit jelent?

Amúgy hol lehet beszerezni AVR-t?
Nem nagyon láttam boltokban. (Számlával lenne a legjobb)
(#) trudnai válasza Donnie hozzászólására (») Jún 4, 2008 /
 
Misztikus hibagyujtemeny Na igen, valoszinuleg mar tul regen csinalgatom ahhoz, hogy barmi is misztikusnak tunjon PIC-eknel haha

Azt hiszem kicsit bele asom magam ebbe az AVR-be, talan csak kivancsisagbol eloszor aztan meglatjuk hogy alakul tovabb Amugy nekem jelenleg nincs soros portom, akkor egy stk500-ast lenne erdemesebb beszereznem? Ezek tudnak debuggolni is? Marmint hogy a celaramkorbe ultetve a programozot hasznalva mint debug headert.

Tamas
(#) Donnie válasza wg_kezdo hozzászólására (») Jún 4, 2008 /
 
Bp-n a Bécsi út 120 alatt voltak eddig a legbarátságosabb árak. A cég nevét már nem tudom, de gugli úr megmondja.
(#) Moderátor hozzászólása Donnie hozzászólására (») Jún 4, 2008
 
Vagy akár a fórum keresője...

Jobb oldalt felül kis bekeretezett K betű... pont erre találták ki... csak ebben a topikban keres...

Be kell írni: bolt

vagy éppen: hol lehet venni ÉS kapcsolattal beállítva a keresőt...

És szerintem kiad pár megfelelő választ...

Mindenkinek ajánlom a használatát!
(#) Donnie válasza trudnai hozzászólására (») Jún 4, 2008 /
 
Tamás,

a példák szerint igen,de bevallom, sohasem próbáltam. De a Bascom is tele van vele, meg a fórumok is, úgyhogy akár még működhet is.
(#) wg_kezdo válasza (») Jún 4, 2008 /
 
És tényleg.....

A prog.hu-n nem volt ilyen és annyira megszoktam ez meg hát ugye ugyanaz csak kicsit többet tud, hogy a szokás nagy úr.

Bár ott is ilyen jól lehetne keresni....., na mind1.
Megyek használom.

Egyszer még össze fogom keverni a kettőt és rossz helyre küldöm el a hozzászólásom
(#) zoknee válasza Donnie hozzászólására (») Jún 4, 2008 /
 
MSC Budapest a cég neve. egyébként pl az ElektroKonthában is lehet kapni, de ott majd 2x annyi az áruk, bár egyébként elég olcsók Kontháék szerintem.
Én épp ma voltam náluk, vettem egy marék Megát
(#) mazso1988 hozzászólása Jún 6, 2008 /
 
Sziasztok
azt szeretném kérdezni hogy valakinek nincs-e véletlenül magyarra fordított magyarázat az ATmega8 biztosítékbitjeihez mert olvastam hogy ez a beálljtász különös figyelemmel kell elvégezni és az adatlapján az alacsony és magas bitekböl én jgy angolul nem sokat tudtam kivenni .
ka valaki tud kérem segítsen
Üdv Feri
(#) TavIR-AVR válasza mazso1988 hozzászólására (») Jún 6, 2008 /
 
Amire vigyázz:

A resetdisbl-t ne állítsd át.
És figyelj az órajel beállításra. Alapban a Belső 1 MHz-n jár.

A legjobb - szerintem - a Bascom beépített programozüja. Abban szövegesen van mindez benne.
Például: Itt a lap közepe

Vagy STK500 esetén az AVRStudió programozófelülete.
Erről még csak most készül a leírás/ismertető. Erről is van némi előzetes. Ez is szövegesen mondja meg, hogy mit csinálhatsz.

A bascom; AVRStudio nem engedi, hogy a ISP-t (azaz a felületet) letiltsd. A PonyProggal simán megteheted.... (nálam 1/2 cső chip bánta, de nehezen újraélesztettem
(#) mazso1988 hozzászólása Jún 6, 2008 /
 
Szia
pedig én Ponyproggal tudom leprogramozni mert Siprog progprogramozóm van készen egyáltalán nincs paralel protos programozom
Üdv
(#) Frankye hozzászólása Jún 7, 2008 /
 
Kedves AVR Guruk!
Elsősorban TavIR-AVR mestertől kérdezném, de mindenkitől szívesen veszem a választ:
Van egy AVR910 programozóm, Ennek a kimenetei érdekelnének, mert nem találtam egyértelmű utalást rá. Azaz: Van ugyebár rajta a egy 6, és egy 10 tüskés csatlakozó sor. Ha a programozót úgy tartom, hogy balra van az USB csatlakozó, akkor a 6 pólusú (ez a bal oldali, tehát belső) elvileg így néz ki:
  1. VTG   MISO
  2. RST   MOSI
  3. GND   SCK

Jól gondolom?
(#) deguss válasza Frankye hozzászólására (») Jún 7, 2008 /
 
Szia Frankye!

Nekem sajnos nincs ilyen programozóm, szóval nem tudok tapasztalatokról írni, de gondoltam jobb ha valaki ír, mint ha senki se. )
Az AVR910 hivatalos dokumentációjában a 6 pines csatlakozó a mellékelt ábra szerinti lábkiosztást viseli. Remélem hamarosan az ilyen programozót használók is írnak!

AVR910.PNG
    
(#) TavIR-AVR válasza Frankye hozzászólására (») Jún 7, 2008 /
 
Miket nem találni:

HWB-ben (HardWareBook):
Bővebben: Link


Rajzosabban az Equinox oldalon:
Bővebben: Link

A leggyakrabban a 10-es csatlakozót szokták használni, a 6-os a régebbi rendszerekben volt...
(#) Frankye válasza TavIR-AVR hozzászólására (») Jún 8, 2008 /
 
Mindkettőtöknek (Deguss és TavIR-AVR) köszönöm. Azért voltam bizonytalan, mert itt, ezen a képen olyan kiosztást láttam, amit én leírtam, de ugyan akkor ehhez a képhez (illetve az ott lévő programozóhoz) nem tartozik "lábkiosztás" leírás...

Még egyszer köszönöm!
(#) PLaci hozzászólása Jún 10, 2008 /
 
Sziasztok!
Nem tudtok valami olyan site-ot, ahol találok AVR példaprogramokat asm-ben? Konkrétan egy hexa to decimal átalakító érdekelne. ha valki tud légyszi copyzza be a linket! Köszi előre is! Laci
(#) Norberto válasza PLaci hozzászólására (») Jún 10, 2008 /
 
Nézz körül a következőkön, hátha találsz valami jót...

LINK1

LINK2

LINK3
(#) PLaci válasza Norberto hozzászólására (») Jún 10, 2008 /
 
Köszi... nézem...
(#) ArBalya hozzászólása Jún 14, 2008 /
 
Sziasztok!
Már több mint egy hónapja küszködök egy problémával, de sajnos nem találtam rá megoldást, így hát gondoltam kikérem a ti véleményeteket. A problémám a következő lenne:
Egy KS0108 alapú, 128x64 pixeles grafikus kijelzőre próbálok drivert írni. Első nekifutásra assembler-ben próbálkoztam. A megírt driver képes egyenként pixeleket ki/be kapcsolni,szöveget kirajzolni pixelenként, (betűnagyságot válltani, invertálva kirajzolni a szöveget) függőleges/vízszintes vonalat rajzolni, és keretet rajzolni. Mind ezt hiba nélkül meg is csinálja „egyszer” , ez alatt azt értem, hogy ha pl. a kijelző peremére kirajzoltatok egy keretet, majd egy szöveget kirajzoltatok a kijelző közepére és ezután már nem küldök adatot a kijelző felé akkor látszólag minden rendben van, az van és úgy van a kijelzőn amit és ahogy szerettem volna. De ha a szöveg kiíratást beteszem ciklusba (a keretet, nem), akkor Egy idő után a kijelző bal oldalán a keret függőleges vonala hiányos lesz, mind ha a keret vonalába valaki beletörölt volna. De ez még nem minden, az is előfordul hogy a kirajzoltatott szöveg körül pixelek kapcsolódnak be, de ami a legkülönösebb hogy a kijelző jobb oldala „magától” kikapcsol. Erről meg is győződtem ,mivel a kijelző BUSY flag-et figyelő rutinba a kijelző ON/OFF állapotát is figyeltem, és amikor a kijelző valamelyik oldala kikapcsolt állapotban van akkor a próbapanelon bekapcsolt egy led. Számomra nagyon különös ez mert a kijelzőt ki/be kapcsolni csak egy az arra a célra megfelelő paranccsal lehet, és kikapcsolási parancs az egész kódban nem volt. Az előbbiekben tárgyalt kódot ATmega32 és ATmega8535 mikrovezérlőkkel teszteltem belső oscillátorral és külső kvarcal különböző MHz-en egyaránt.
Időközben beszereztem egy PIC fejlesztő panelt. Beszereztem hozzá a CCS fejlesztő környezetet. Ebben a fejlesztő környezetben van c library KS0108 kijelző meghajtókra. Próbálgattam a libraryt, eléggé kidolgozott kód , van benne kör és keret rajzolás egyaránt . Mind ezt ugyan azzal a kijelzővel teszteltem amit az atmelnál is használtam. Ugyan úgy mint az atmelnál itt is kirajzoltattam a kijelző peremére egy keretet, a kijelző közepére most nem szöveget rajzoltattam hanem egy telített kört, és ezt beraktam végtelen ciklusba. (kirajzolta majd kitörölte a telitett kört) A program teljesen hibátlanul futott a fent említett hibajelenségeknek még csak a halvány árnyéka sem mutatkozott. Majd ezután ezt a libraryt felhasználtam a CodeVisionAVR-ben . A hardveres deklarációkat értelem szerűen módosítanom kellett, mivel a PIC és az AVR jelentősen különbözik egymástól mind hardware mind software téren. De maga a C programozási nyelvben megírt kód (rutinok, függvények) egy az egyben ugyan az, semmit sem változtattam rajtuk. AVR-en ugyan úgy futott a program mint PIC-en , igen ám de ez is csak „egyidejűleg” amint ciklusba raktam ugyan azok a hibajelenségek jöttek elő mint az assemblerben megirt driveremnél. PIC esetében szórakoztam még a kijelző időzítésekkel, akármilyen késleltetést adtam meg neki , nem tudtam reprodukálni azokat a hibajelenségeket amik AVRnél jelentkeztek. A PIC minden esetben 100%osan működött. AVR-nél meg mindegy volt hogy milyen késleltetést adtam meg, mindegy volt hogy mekkora MHzen hajtottam, mindegy volt hogy milyen órajel forrást használtam, a kertet bal oldala hézagos lett ,pixelek kapcsolódtak be, kijelző jobb oldala kikapcsolt. Persze ezek a hibajelenségek nem azonnal ciklusba rakás után jöttek elő, volt hogy percekig hiba nélkül működött ,máskor szinte azonnal jelentkeztek a hibák. És FOGALMAM SINCSEN hogy ez mitől van. Kérlek benneteket hogy amennyiben már volt hasonló esetetek, vagy esetleg volna ötletetek hogy még mit volna érdemes megpróbálni, akkor azt osszátok meg velem. Meg egyébként is miért van az hogy ugyan az a program PICen hibátlanul működik, AVRen meg nem?
Segítségeteket előre is köszönöm.
(#) MaSTeRFoXX válasza ArBalya hozzászólására (») Jún 14, 2008 /
 
Minden lába megfelelő szintre van kötve a kijelzőnek? Tehát ugye nincs olyan lába mi a levegőben lóg? (Nekem volt már véletlenül ilyen bajom...) Az AVR minden lába kimenetként van beállitva? Gondolok ilyenkor az alapból bekapcsolt JTAG lábakra...
Most több dolog nem jut eszembe. Nem tudom hogy a forditó csinálhat-e ilyen hibát véletlen...
(#) trudnai válasza ArBalya hozzászólására (») Jún 14, 2008 /
 
Hol van a kapcs rajz meg a forras amire ra tudunk nezni?
(#) ArBalya válasza MaSTeRFoXX hozzászólására (») Jún 14, 2008 /
 
Igen a kijelző minden lába be van kötve és elvileg a megfelelő szinteket meg is kapja, mivel akkor egyidejűleg sem működne a program. Az AVR kimeneteire gondosan ügyeltem adat küldéskor kimenetnek vannak állítva a megfelelő lábak, adat fogadáskor meg bemenetnek. a JTAG-ot FUSE-bitekel tiltottam, ATmega8535-ben meg nincsen JTAG. Szerintem a fordító sem csinál a hibát, amikor assemblerben írtam a progit akkor az AVR studiót használtam, illetve kipróbáltam a WinAVR-t is meg a CodeVisionAVR-t, mindegyik esetben ugyan ez a hibajelenség.
(#) ArBalya válasza trudnai hozzászólására (») Jún 14, 2008 /
 
Sajnos kapcs. rajzot most hirtelen nem tudok mellékelni, a DeccanRobots-tól vettem a panelt .Ez a tipusa: 89S & AVR Development Board : (EEDT4.0) nem valami bonyolult szerkezet. Bővebben: Link A PIC-es panelom sokkal komolyabb.
(#) atiotezer hozzászólása Jún 16, 2008 /
 
Sziasztok. Megpróbálná valaki lefordítani ezt az ASM fájlt HEX-be? Mert nekem a Bascom-Avr-Ide fordítás közben lefagy.
(#) ArBalya válasza atiotezer hozzászólására (») Jún 16, 2008 /
 
Az AVR Studio elsőre leforditotta. Assemblerre javaslom használd az AVR Studiot. Nagyon ügyes kis progi és ingyenes. A Fordit.zip ben megtalálod a HEX filet.

Fordit.zip
    
(#) wg_kezdo hozzászólása Jún 16, 2008 /
 
Egy pusztán megvalósíthatósági kérdés.
Szeretnék egy olyan kütyüt csinálni ami egy kijelző és 4 gomb segítségével tárolja, az élelmiszer raktárunkban, hogy miből mennyi van és mit kell venni.
Azt aztán valamilyen formában át lehet tölteni web-re.

Arra gondoltam, hogy egy AVR-el egy sima kis kijelzővel és mondjuk egy Pendrive-al meg lehetne valósítani feltéve, ha valami don tudja kezelni a PENdrive-ot az AVR. Van erre esély vagy rossz nyomon járok?
Következő: »»   57 / 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