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   267 / 839
(#) krkic hozzászólása Okt 7, 2010 /
 
Hello

Az avr kezdőknek első részéből tanulmányozom a közlekedési lámpát de nemtudom hogy az uint8_t mire szolgál. Válaszotokat előre is kössz
(#) huba válasza krkic hozzászólására (») Okt 7, 2010 /
 
Megmondod a fordítódnak, hogy a deklarált változó 8bites előjelezetlen, tehát 0tol 255-ig veheti fel az értékeket.
(#) trudnai válasza krkic hozzászólására (») Okt 8, 2010 / 1
 
Kis kiegeszites ahhoz amit huba leirt:

Az ilyen formatumu elnevezeseket arra talaltak ki, hogy konyen meg lehessen allapitani a valtozok tipusat, tehat a nevbe 'bele kodoltak' a szukseges informaciot. Ebben az esetben:

u int 8 _t

-re lehet szetbontani, tehat az 'int' arra utal, hogy integer (egesz tipusu), az 'u', hogy unsigned (elojel nelkuli), a '8' a bitek szama. Az alahuzas utan a 't' arra utal, hogy typedef (azaz tipus defiicio). Szoval ha hasonlo nevekbe utkozol csak mas tagokkal akkor innen fogod tudni mit jelent.
(#) Robi98 hozzászólása Okt 10, 2010 /
 
Sziasztok!

Lenne egy kérdésem.Lehet ,hogy túl egyszerű, de azért örülnék ha valaki válaszolna rá.Sajnos ezt már máshol is kérdeztem, de nem válaszoltak rá :no:
Szóval:azt szeretném kérdezni,hogy az AVR Studio4-ben hogyan lehet a debug és a relasze módokat beálítani.
Ja és ha megnyitjuk az AVR Studio4-et akkor látok két féle módot:AvrGCC-t es AVR Atmel Assembler-t.
Mi a külömbség közöttük?

Előre is köszi!
(#) edison14 válasza Robi98 hozzászólására (») Okt 10, 2010 /
 
Helló. Az AVR Studio nem MPLAB! Itt nem kell beállítanod a debug és release módokat. Ha az AvrGCC-t választod akkor C nyelven tudod megírni a programot ha pedig az assemblert akkor assembly nyelven. A kettő között nagyon sok a különbség. Az assemblyvel nagyon jól meg tudod tanulni az AVR processzorok működését a C-vel pedig egyszerűbben tudsz rájuk programot írni. Persze ehhez ismerni kell a C nyelvet legalább alapfokon.
(#) Robi98 válasza edison14 hozzászólására (») Okt 10, 2010 /
 
Kösz, jó választ írtál!

Az a kérdésem lenne még,hogy az AVRStudio4-ben,hogyan lehet beállítani azt hogy az áramkörünk a programozó és a aszámítógép nélkül is működjön, és ennek ellentétjét.

Köszi!
(#) IMi válasza Robi98 hozzászólására (») Okt 10, 2010 /
 
Szia!
Ezt a kérdést cseppet sem értem.
Az áramköröd (már ha ez AVR-es) akkor működik, ha jó a program benne és van külön tápja ( nem a gépről ). A sz.gépnek meg van saját tápja, az megy az áramköröd nélkül is.
(#) kovacsj hozzászólása Okt 10, 2010 /
 
Sziasztok!

Az Atmel 8052-eseit mivel lehet felprogramozni? Miért mondják a 8052-esekre, hogy ez az ipari szabvány? Milyen ingyenes fejlesztőeszköz létezik ezekhez?

Köszönöm előre is!
(#) Cellosion hozzászólása Okt 11, 2010 /
 
Egy AVR ATMEGA128 típusú mikrokontrollerrel kéne vezérelnem két RGB és egy fehér ledet. A ledek a kontroller GPIO-A(a port kimetnek van beállítva) portjára vannak rákötve az alábbi bit kiosztással:
0-Vörös(0)
1-Zöld(0)
2-Kék(0)
3-Vörös(1)
4-Zöld(1)
5-Kék(1)
6-Fehér
10-GND(közösítve a ledeknek a katódja, 1 db 100 Ohmos ellenállással)

A hibajelenség: A ledek jól működnek, azonban ha az összeset ki szeretném gyújtani, csak két piros led világít (a többi csak haloványan pislákol, mintha bemenetnek lenne állítva). Ha bármelyik piros led kivételével gyújtom ki az összes többit, a dolog teljesen tökéletesen működik. A ledek színenként jól működnek, a kötésekben rövidzárlatot, félreforrasztást nem találtam. Hiába kötöm más portra a ledeket, a hiba ugyanez.
AVR studio 4-et használok, C nyelven programozom a kontrollert. A kód egy egyszerű while (végtelen) ciklus, melyben az összes led bitét 1-be írom.
A jelenséget nem értem, bármiféle megoldási javaslatot szívesen fogadok. Eléggé kezdő vagyok még ezen a téren, elnézést kérek esetleges hiányosságokért, hibákért.
Előre is köszönöm.
(#) zolee1209 válasza Cellosion hozzászólására (») Okt 11, 2010 /
 
Szia!
LED-ek közvetlen hajtása esetén közös anódosat kell használni RGB esetén. Mivel a katód a közös, a közös láb a testre megy. Vagyis a LED akkor világít, amikor a port lábát töröljük, ekkor a kimeneti FET szakadás, és a pozitív táp a LED-nek a néhány kiloohm-os belső felhúzóellenálláson lesz. Mivel a pirosnak a legalacsonyabb a nyitófeszültsége, ezért az fog világítani, a többi elől elszívva az áramot... Ha tudsz, tegyél közös anódos LED-et, vagy pedig a meglévőt egészítsd ki egy tranzisztoros fokozattal.

szerk.:
Illetve lehet nem is kell közös anódos... Most látom, hogy egy darab 100 ohmos ellenállás az előtét. Ezt vedd ki a közös ágból, és színenként tegyél egyet. Saccper alapon: piros: 330ohm zöld: 270ohm kék: 220ohm
Fehérre nem tudok hirtelen értéket mondani, de az is a kékhez közeli szerintem.
(#) zolee1209 válasza Cellosion hozzászólására (») Okt 11, 2010 /
 
Délután agyaltam még picit, aztán arra jutottam, hogy mégis közös anódos LED-et kell használj, ha direktben akarod hajtani az AVR-ről. Az ellenállásértékek maradhatnak.
(#) Robi98 válasza IMi hozzászólására (») Okt 11, 2010 /
 
Köszi már értem!
(#) boomerang hozzászólása Okt 11, 2010 /
 
Sziastok !

Hogyan tudok egy mega8-as kontroller ADC-jének végeredményére, mondjuk az ADCL regiszterre feltételt írni ? Jobbra van igazítva a mérési eredmény.

Például ha az ADCL mindegyik bitje 1-es, akkor......
Nekem sehogy sem sikerült összehozni ezt C-ben.
(#) Cellosion hozzászólása Okt 11, 2010 /
 
Hát... elég szomorú vagyok. Sajnos megpróbáltam a mikrokontrollerrel a ledeket ismételten sötétben, de úgy tűnik, hogy nem tudja meghajtani rendesen, túl gyenge a ledek fénye. Így felmerült bennem egy másik megoldási javaslat.
Létezik valami olyan eszköz, vagy kapcsolás, ami stabilan meg tudja hajtani a ledeket, és bitenként lehetne állítani mikrokontrollerről a színek keverését, szoftveres PWM-mel?
Lényegében a sötét szobát kéne bevilágítania a ledeknek különböző színekben (tiszta és kevert), viszonylag "nagyobb" fényerő (monitor) mellett. Ezt mikrokontrollerről kéne vezérelni mindenképpen.
Előre is köszönöm a válaszokat, remélem sikerül megoldást találnom.
(#) Ricsi89 válasza Cellosion hozzászólására (») Okt 11, 2010 /
 
Hajtsd meg a ledeket tranzisztorokon, vagy esetleg feteken keresztül.
(#) giskard hozzászólása Okt 11, 2010 /
 
Tud valaki Atmel c2051--hez free fejlesztőt ? (mint pl Pic-hez az MPLAB). Csakis asm-ban.
Kösz.
(#) mrbini hozzászólása Okt 11, 2010 /
 
Sziasztok!
A Topi féle AVR ISP kompatibilis Bascom-AVR-el?
Ha igen tudna valaki segíteni hogyan kell beállítani.
A segítséget előre is köszönöm.
(#) Fizikus válasza boomerang hozzászólására (») Okt 12, 2010 /
 
Olvassad el ezeket. Ezutan mennie kell, ha megse sikerulne, akkor mellekeld a C kodot.

AVR ADC mukodese:
Bővebben: Link

Balra rendezett ADC pelda:
Bővebben: Link

Jobbra rendezett ADC pelda:
Bővebben: Link
(#) Fizikus válasza Cellosion hozzászólására (») Okt 12, 2010 /
 
Biztos vannak mas, kulon ilyen celra tervezett IC-k is (Darlington?), de ilyeneket meg nem hasznaltam, nem nagyon ismerem a mukodesuket, ezert azt javaslom hogy hasznalj 2db L293-as IC-t. Ezek akar 1A-ig is birjak, 4 csatornajuk van, es a megfelelo labakra adott 0 vagy 5V-al lehet a kimeno labakat vezerelni. De biztosan van 8 csatornas Darlington IC is ami ugyanilyen jo lehet neked.
(#) varttina válasza Fizikus hozzászólására (») Okt 12, 2010 /
 
Ilyen IC pl. az ULN2803, amit többek között különböző irodai eszközökben léptetőmotorok hajtására használnak.
(#) boomerang válasza Fizikus hozzászólására (») Okt 12, 2010 /
 
Én voltam a bolond...
Mindent megírtam frankón, csak éppen elfelejtettem meghívni az iniciaizációs részt.
(#) deguss hozzászólása Okt 12, 2010 /
 
Tisztelt szakik!

ATMEGA128-asom, I2C slave módban. Fogadnom kéne 6 bájtot, amik kb. másodpereces ütemben szabályosan jönnek (PC felől, LabView alól). Viszont nem érek rá pollingolni, így az interruptot használva próbáltam meg elérni, hogy ha beérkezik az a 6 bájt, akkor azt valahogy vegye már észre, és tudja kezelni a mainből, de nem akar működni. Néha mégis jön valami, de értelmezhetetlen. Néha semmire nem reagál. Mit csinálok rosszul.

Köszönöm segítségeteket!

main-s.c
    
(#) gtk válasza deguss hozzászólására (») Okt 12, 2010 /
 
Interruptban volatile legyen a valtozo.
Pl ez
  1. uint8_t scaler; volatile uint8_t scaler;
(#) mario1111 hozzászólása Okt 13, 2010 /
 
Üdv!

Segítséget szeretnék kérni. Egy ibutton olvasós cuccot építek, amihez egy ATMEGA128-at használok és galvanikus le szeretném választani az ibuttont. Ha nincs leválasztva, akkor frankón megy. Már két napja szopatom vele magam. Most kitaláltam egy komparátoros megoldást, ami elvileg működik, meg gyakorlatilag is megy, ha én manuálisan eljátszom a dallas kulcs szerepét meg uc oldalról is, de, ha a kulcsot rakom rá akkor meg nem. A lényege,h megtudja különböztetni a komparátor segítségével,h a proci vagy a kulcs húzta le a az adott vezetéket.

Ha az egész vakvágány és valaki tud valami működő leválasztást, akkor kérem írja meg!

Üdv: Márió

dallas.png
    
(#) Reggie válasza mario1111 hozzászólására (») Okt 13, 2010 /
 
Nem lehet az a gond, hogy baromi lassu a tlp181? Az adatlapon levo jelalakbol es idozitesbol kiindulva, szerintem nem alkalmas meg a 16kbit/s atvitelere sem.
(#) Szzsolt hozzászólása Okt 13, 2010 /
 
Helló !

Egy 4*20 Karakteres LCD-t vezérlek Atmega162-vel és amikor folyamatosan B-ket írok ki, akkor mindig egy áthúzott 0-val kezdi. Van valakinek ötlete miért csinálhatja?

Üdv: Zsolt
(#) trudnai válasza Szzsolt hozzászólására (») Okt 14, 2010 /
 
Szerintem valamit elrontottal a programodban... Bocs, de ennel ertelmesebbet nem tudok mondani a programod latta nelkul
(#) Szzsolt hozzászólása Okt 14, 2010 /
 
Helló !

Itt a program, ha valaki tudna segíteni azt megköszönném, mert még elég kezdő vagyok a témában

Üdv: Zsolt

LCD.c
    
(#) boomerang hozzászólása Okt 14, 2010 /
 
Üdv,

Mi lehet az oka, hogy AVR Studio-ból való programozás után mindig lefagy a céleszköz ? A felprogramozás OK, de utána lefagy az AVR és nem teszi a dolgát.

Semmilyen extra beállításhoz nem nyúltam.
(#) Reggie válasza boomerang hozzászólására (») Okt 14, 2010 /
 
Hat jo kerdes, nekem hasonlo jelenseggel volt dolgom AVR32-vel, de erdekes modon ha a gyari demo sw-t toltom bele, akkor nem volt ilyen problema. En mar megszoktam, hogy megnyomom a reset gombot. Egyszeru mint megkeresni a gondot.
Következő: »»   267 / 839
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