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
Ezt csak akkor kell, ha 8 bitnel nagyobb meretu a valtozo. Tehat ha csak uint8_t,int8_t,char tipusu valtozot hasznalsz, akkor nem kell.
Az egesznek az a magyarazata, hogy peldaul egy 16 bites valtozot ket lepesben lehet a memoriaba irni. Eloszor beirja az elso 8 bitet, majd a masodik 8 bitet. Viszont ha beiras kozben tortenik egy megszakitas, akkor balszerencses esetben az also 8 bit mar at van irva, de a felso 8 nem, igy hibas lesz a valtozo erteke. Raadasul, ha visszater a megszakitas, akkor utolag lesz az also 8 bit atirva, igy mar a foprogram szamara is hibas lesz az erteke.
http://www.hobbielektronika.hu/cikkek/will-i_the_end_robotika_es_av...l?pg=2
Alapvető infókat itt olvashatsz a megszakításokról. A többi Google.
Így már értem. Akkor azért kerülte ez el a figyelmem mert alapvetően arra törekszem, hogy 8bit-nél nagyobb válozók ne legyenek a megszakításokban.
köszönöm valszeg így mar tudom a 2 IC és megoldást használni meg szakítással Fő IC lesz az ugymond gomb ami egy gombnyomást ad le es a másodlagos IC beveszi a jelet és elinditja az időzítőt köszönöm.
Szerinted ez életképes megoldás?
A portb1-et mashol kell megadni. A kijelzo frissitesi folyamat igy tortenik:
1. meghatarozod melyik kijelzot akarod frissiteni 2. a kijelzo vezerlo labakat beallitod 3. kivalasztod az adatot 4. kikuldod az adatot. Egy konkret peldaval:
Az atalakitashoz van egy tablazat: http://en.wikipedia.org/wiki/Seven-segment_display#Displaying_letters A hozzászólás módosítva: Szept 8, 2012
Ha jól értem
Nem teljesen. A kijelzo_kivalasztas is egy fuggveny:
Az adatkivalaszt pedig egy valtozobol valasztja ki a kiirando reszt. Tehat a adatkivalaszt(kijelzo,_VALTOZO) modon kell meghivni. Az atalakit pedig a linkelt tablazat alapjan csinalja a kivalasztast, amit a bekotesednek megfeleloen kell atirni. Azaz ha a kijelzore 1-et szeretnel kiirni, akkor csak a B es C szegmenst kell bekapcsolni. Tehat az atalakit(1) fuggveny visszateresi erteke lesz 0b00000011. De a kerdeseidbol ugy erzem, hogy eloszor a C programozasi nyelvet kene gyakorolnod. Ehhez a Petho" A'da'm - abC cimu konyvet javaslom. A hozzászólás módosítva: Szept 8, 2012
Hát igen alapon tudom a C ét és ez a multiplex megizzaszt. Lehet meg nézek egy examplét a neten még ha bonyolult is meg próbálom lecsupaszítani.
Előbb linkeltek egy megszakításról kis infót. Azt értem hogy külső láb de egy adott folyamaton belül ez hogy kivitelezhető mert én csak C++ os leírást találtam. Akár mit csinálok belép 100 nál a kijelző és az összes folyamat leáll és végtelen ciklusban a time > 100 ba lépbe és a kijelző kezd el egyre gyorsabban változni.
Rosszul értelmezel. A megszakítást nem csak "külső láb" válthatja ki. Olvass még egy picit.
Az én esetemben az időzítés nem külső eseménytől függ. És ez csak 1 lehetőség. Nem értem neked most mire kell a megszakítás.
Van egy fő folyamatom:
Sziasztok!
Szeretnék neki állni meg tanulni micro controrelt programozni. Azt mondták nekem hogy az AVR-ek olcsóbbak, modernebbek, könyebb őket programozni a PIC-ekhez viszonyítva, így hát az AVR mellet döntöttem . Ezért abban kérem a segítségeteket hogy állítsa már valaki össze hardver részét(procesor, égető, meg mi egymás ami kell). Teljesen 0-ról kezdem, egyedül a C nyelv ismerete van meg. Előre is köszönöm a segítséget.
Elektronikában mennyire vagy otthon? ha semennyire akkor Ebay röl elég olcson vannak égetők.
Énse reklám miatt adtam azt csak ha számít az ár akkor ott olcsóbb és ugyan olyan minőségé mintha itt venné ez csak javaslat volt.
Ha van egy kapcsolási rajz meg tudom csinálni. Kb annyira. A tervezés szempontjábol egyszűrű áram körök...
Sziasztok. Szeretnék fölprogramozni egy atmega48-at és abban szeretném a segítségeteket kérni hogy hogyan kössem rá a számítógépre soros vagy párhuzamos portra mert eddig lpt porton próbálkoztam Ponyprog2000-el de nem történt semmi. Ha valaki tudna föltenni ide egy rajzot hogy hogyan kössem rá a portra azt megköszönném.
Kell neked égető:
Ebből két féle van. Az egyik ami csak felprogramozza az AVR-ed és a program fut rajta. Az hogy mi történik éppen azt nem tudod megmondani csak az alapján amit látsz. Ezt hívják programmernek/égetőnek Ott a másik fajta, ami a programozás után figyelemmel kíséri a futást. Meg tudod állítani a PC-n az AVR-en futó programot, bele tudsz nyúlni az értékekbe. Ezt hívják debuggernek. Az előbbi pár ezer Ft, az utóbbi ~13.000 nettótól indul. Az útóbbi neve az AVR Dragon, ez minden menő AVR-t tud programozni, illetve debuggolni is. Tegyük fel, hogy akarod élvezni a debuggolás előnyeit olcsón, akkor vegyél egy un. Jtag Ice 1 klónt. Ez 3-4 ezer ft körül van, viszont csak néhány AVR-t lehet vele programozni. Ezeket támogatja: ATmega16(L), ATmega162(L), ATmega169(L or V), ATmega32(L), ATmega323(L), ATmega64(L), ATmega128(L). Tegyük fel, hogy nem igényled a "debuggolás" előnyeit. Akkor vegyél egy Stk500 klónt, vagy egy AVR ISP mk2 klónt. Azért mondom a klónokat, mert sokkot kapnál az eredeti STK500 árától. Az AVR választásnál vegyél egy olyat, aminek sok lába van. Atmega48PA pl. Persze csinálhatsz olyat is, hogy eleve egy fejlesztő NYÁKot veszel, ami önmagát tudja programozni, pl: https://www.pjrc.com/teensy/ Utóbbi előnye az, hogy nem kell hozzá égető, hanem USB-vel a gépre kötöd és egy programból töltöd rá a kódot. Ha szeretnéd, hogy valami értelmes történjen is a programoddal, akkor persze nem árt egy próbapanel, illetve különféle dolgok: LED, nyomógomb stb. Mennyi pénzt szánsz az egészre? Mondj egy plafont és valaki segít konkrét eszközökkel . A hozzászólás módosítva: Szept 9, 2012
Programozod van hozzá? Azaz égetőd?
A hozzászólás módosítva: Szept 9, 2012
A legegyszerűbb programozó amit építhetsz az a un. stk200. Itt a fórumon már többször is linkeltek biztosan működő változatot. Minden esetben LPT portról működik. Keress rá.
A hozzászólás módosítva: Szept 9, 2012
Csatolok egy képet, így kell bekötni. Az 5V-os tápfeszt ne feledd!
Ha gyakran égetsz(és mellé programot is írsz), akkor egy égető beszerzése sem ártana.
Sziasztok.Lenne egy kérdésem.Az én USBASP émen mirt MOSO van? nincs rajta MOSI vagy a MISO hiányzik.Lehet ez miatt nem tudom a CLock ot állitani?Error setting USBasp ISP Clock ezt kapom.
Idézet: Ki mondta ezt a "!@#$*&^" ? PIC kaphato mar 110 forinttol, egy PIC24FJ256GA106 64 labas joszag 1310 forint. Amikor C-ben programozol, szinte mindegy milyen vas van a fordito utan. Viszont egy PicKit3 tudja programozni az osszes PIC tipust tizezer forintert. Bocs de serti a fulem az ilyen beszolas. Majd mikor kizartad magad egy ket uC-bol kiderul mi az olcso. „Azt mondták nekem hogy az AVR-ek olcsóbbak, modernebbek, könyebb őket programozni a PIC-ekhez viszonyítva”
Miért kell szegényt így lehordani? nem értesz vele egyet ok de ne így írd le szegény megrémül.Énis ezt olvastam de én PIC és AVR programozót is vettem de AVR el kezdtem el foglalkozni.
En nem lehordtam, csak megalapitottam hogy ez olyan kijelentes ami nem allja meg a helyet. Ilyet lehet sajnos sokat olvasni itt a forumon( nem csak uC-kkel kapcsolatban) Pistike (12 es 1/2 eves) kijelenti hogy ez a jo, es Jozsika igy mar tudja is a frankot, es nagy hangon o is kijelenti ugyanazt. En a '80-as evek eleje ota foglalkozom mikroprocesszorokkal, de nem tudom kijelenteni egyertelmuen melyik a jobb. Mindnek van elonye, es hatranya.
jo igaz de énse tudtam dönteni. Egy IC képes párhuzamosan 2 dolgot végezni??? mert nekem külön kéne ,hogy Számoljon és Külön kéne működtetni 2 Lábat.
Akar sokkal tobb dolgot is lehet egy uC-vel "egyszerre" csinaltatni. Persze nem egyszerre, de szepen egymasutan. Viszont gyorsan dolgoznak, tehat egy kulso szemlelo ugy latja, hogy azonos ideju a vegrehajtas. Egyszeru pelda egy hofokszabalyzo: a uC beolvassa a hoerzekelot, kiszamolja a homersekletet, kiirja a LCD-re a szoveget, kiszamolja a szabalyzast, vezerli a futest egy kimeneten, kezeli a gombokat. Persze hogy nem egyszerre, szepen egymas utan. Ez a programiro feladata, hogy minden funkciot egyenkent megirjon, majd ezeket a funkciokat egy rendszerbe fogva beprogramozza a uC-nek.
Nekem így mondták. Én egyikről sem tudok semmit sem a PIC-et sem az AVR-t nem ismerem. Meg akarom tanulni őket programozni. Nekem most így tudatlanként mindegy hogy melyiket kezdem el. Ha azt mondod hogy PIC-et kezdjek akkor azt kezdem... Ismétlem nem értek hozzájuk.
Egy fejlesztői környezetet tudtok mondani amit meg tudok építeni?
En Atmel-re nem tudok igy hirtelen. Csinaltam egy par demo panel tervet, a PIC-es temakban fellelheto a doksi. Persze ez PIC-re. Kis atalakitassal meg lehet oket csinalni Atmelre is. Egyszeru nyomogomb, LED, AD bemenet, LCD csatlakozo.
Köszönöm a segítséget mindenkinek, sikerült fölprogramozni. Csak simán rákötöttem az lpt-re és jó lett.
Lehet hogy meg változtatom a döntésem PIC re mert eszembe jutott hogy van egy tanárom aki foglakozik PIC-el. Az AVRt majd később...
Mitől lehet, hogy az alábbi hiba üzenetet kapom:
> "make.exe" program avrdude -p attiny45 -P com2 -c stk500v2 -U flash:w:main.hex avrdude: stk500v2_command(): command failed avrdude: stk500v2_command(): command failed avrdude: stk500v2_program_enable(): cannot get connection status avrdude: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check. avrdude done. Thank you. make.exe: *** [program] Error 1 > Process Exit Code: 2 > Time Taken: 00:01 |
Bejelentkezés
Hirdetés |