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
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
Megmondod a fordítódnak, hogy a deklarált változó 8bites előjelezetlen, tehát 0tol 255-ig veheti fel az értékeket.
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.
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!
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.
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!
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.
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!
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.
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.
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.
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.
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.
Hajtsd meg a ledeket tranzisztorokon, vagy esetleg feteken keresztül.
Tud valaki Atmel c2051--hez free fejlesztőt ? (mint pl Pic-hez az MPLAB). Csakis asm-ban.
Kösz.
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.
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
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.
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.
Én voltam a bolond...
Mindent megírtam frankón, csak éppen elfelejtettem meghívni az iniciaizációs részt.
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!
Interruptban volatile legyen a valtozo.
Pl ez
Ü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ó
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.
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
Szerintem valamit elrontottal a programodban... Bocs, de ennel ertelmesebbet nem tudok mondani a programod latta nelkul
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
Ü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.
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.
|
Bejelentkezés
Hirdetés |