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
Sosem kotelezo, de akkor celszeru, ha azt szeretned, hogy valami a flash-ben tarolodjon el(mert mondjuk nagy a merete, es nem kell megvaltoztatni. Ilyenek pl. a felhasznalonak LCD-re kiirando uzenetek, stb) . Viszont innen sima valtozokent nem tudod kiolvasni, erre a celra kulon fuggvenyeket kell meghivni. (mint eepromnal)
Tudom, hogy alap, de megkérdezhetem, melyek azok a függvények? Mutatnál egy egyszerű példát mondjuk egy LCD-s stringre?
Köszönöm előre is!
Tudnál valami megoldást adni az alábbi kódban
ha pinb.5=0 akkor a "MOD_SHIFT_LEFT" =0 legyen előre is köszönettel: joco10
A topic kiirasnal van 6. pont es alatta AVR-libc FAQ. Na itt talalod meg peldakkal egyutt.
Szerintem ennyi forras keves hozza, hogy erdemben segiteni tudjak.
Az egyik lehetseges megoldas, hogy kiveszed progmem-bol es atirod a tobbi fuggvenyt is, amelyek ezeket a valtozokat hasznalnak, hogy ne a progmemben keresse. Ekkor te feltetel nelkul tudod valtoztatni a tartalmat egy egyszeru iffel. A masik megoldas, hogy csak azokat a fuggvenyeket irod at, amelyek hasznaljak ezt a tombot, megpedig ugy, hogy ha ezt az elemet akarja kiolvasni, akkor megnezi a pb5 allapotat, es aszerint adja vissza az erteket.
Köszönöm szépen!
Már el is olvastam. És el fogom a többit is.
Sziasztok az lenne a kérdésem hogy az AVR - ben miért van külön kivezetve AVCC és AGND kivezetések, amikor azok tokon belül össze vannak kötve a GND és VCC vel (multiméterrel kimértem őket)
Üdv! Van vagy 3 mega8-am amit vissza kéne hozni az életbe. (hibás órajelbeáll..) Valaki nem csinálná meg nekem ha elpostáznám neki? Nem sürgős, csak gondoltam rákérdezek. Köszi
Az AVCC biztos nincs osszekotve a VCC-vel. A GND nem pusztan a tokon belul van osszekotve a masik GND-vel, hanem a szilicium csippen belul. Azert van tobb belole, mert ha csak egy oldalon lenne bevezetve, akkor a felvezeto kulonbozo reszen elterne a GND potencialja, mivel nem 0 az ellenallasa es nem 0 aram folyik rajta.
Nincs véletlenül valakinek egy atmega8-ra (DIP) tervezett demó panele megtervezve? Eagle vagy bármi. Nincs erőm tervezni :S
Itt talalsz parat.
Sziasztok Dragon használok!
Én csak nemrégen álltam át az AVR-re, igy most gyüjtöm csak a tapasztalatokat. Azt szeretném kérdezni, hogy a Dragonnal hogyan szoktátok a prototipus áramkör müködését szimulálni. A prototipus panelen van néhány nyomogomb meg LED, és ezeket szeretném valahogyan szimulálni még mielött beprogramoznám az AVR-t. Lehet ilyesmit csinálni az ISP-n keresztül? Vagy mindig csak beprogramozott AVR-rel lehet a probát elvégezni? A valamikori PIC programozon voltak már elev ilyen LED-ek meg nyomogombok. Kösz a segitséget.
"Lehet ilyesmit csinálni az ISP-n keresztül?"
Szerintem keversz valamit. ISP-n keresztül ilyet biztosan nem csinálsz, mivel az a soros programozót takarja. Két lehetőség van a szimulálásra: Vagy ténylegesen szimulálsz az AVR Simulatorban, amit az AVRStudio4 programban tehetsz meg. Ekkor a nyomógombokat úgy tudod szimulálni, hogy manuálisan nyomkodod a portok bemeneti regisztereit (Az Avrstudio simulatorban). A másik lehetőség az, hogy a Dragonnal tudsz debuggolni, és akkor "valós időben" látod, hogy mi zajlik az AVR-en.
Kösz,
A Studio4-t csak most tanulom, nem egészen értem, hogy rajta hogyan "nyomkodhatom" a portok bemeneti regisztereit, illetve ne adj isten pl. egy poti állását hogyan tudom igy bevinni? A többivel még el kell játszadoznom.
Rákattintasz. Aztán vagy fekete lesz (5V) vagy fehér. (0V).
Auto step üzemmódban látod az eredményét. Analóg jelet nem tudsz szimulálni.
Hali!
TWI-t be lehet úgy állítani, hogy ne akarjon START-ot küldeni és ne várjon vissza semmilyen értéket/ellenőrzést/ACK/NACK-ot? Hanem csak beleteszek egy adatot a TWI data regiszterbe és elküldi. Ha beállítható, akkor hogyan? Üdv Kiborg
Sziasztok!
Ismeri valaki a Tinymenu-t? A problémám az vele, hogy mindig csak a két végállását hajlandó felvenni, a közbeeső menüket mindig átlépi. Mi lehet ennek a baja?
Ebben az esetben csak a sel_2 és a sel_6 között ugrál a léptetés hatására. A main_menu-nél is ugyanez a helyzet.
Nekem gyanús, hogy SPI-t kellene használnod, amennyiben lehetséges.
Egy Nokia 3310 kijelzőről van szó. SPI buszos ha jól tudom. De a kijelzőnél csak 2 láb van adatkapcsolatra(clk és DataIN).Az SPI-nél meg 4 láb. Melyiket válasszam ?(SCK tiszta, de a másik?)
Kiborg
3310 LCD-vel csak futólag foglalkoztam. Az SPI-ból a következőkre lenne szükség. MOSI, ez lesz az LCD adat bemenete, LCD-n elvileg SDIN jelölés adatlap szerint. SCK az órajel, LCD-n SCLK. A /SS láb megy az LCD /SCE lábára, ez engedélyezi a vezérlőt. Erre a három lábra van szükséged az SPI perifériából. Illetve még másik két láb a kijelzőhöz, valamelyik portról. (D-/C ; /RES)
Aha, köszike.
Viszont hogyha több SPI-s cuccot akarok rátenni (mindegyiknek saját /SCE lába van, akkor hogyan oldjam meg ? Egyszerűen kihagyom és egy-egy portlábat kap engedélyezőnek? Üdv Kiborg
Hali.
Megépítettem a fusebit doctort és remekül működik is. Viszont egy gondom van vele hogy a terminál programban össze vissza karaktereket ír ki. A sebességet beállítottam 4800-ra de úgy is ugyan az. Esetleg aki megépítette tudna segíteni a terminál program beállításában mert szerintem ott rontottam el valamit. Köszi.
Ha hazamegyek megpróbálom. Igazából nem volt rá szükségem. Attiny2313 be, zöld led, örül. Kutat keres, fél éve félretett ATmega16 megkerül betesz, zöld led örül.
Idézet: „Ebben az esetben csak a sel_2 és a sel_6 között ugrál a léptetés hatására. A main_menu-nél is ugyanez a helyzet.” En nem ismerem ezt a tinymenut, csak felmerult bennem, hogy nem "visszafele" lepkedsz-e -- tehat ami gombrol azt hiszed, hogy a "lefele nyil" az valojaban a felfele, es amirol, hogy "felfele", az valojaban a lefele. Tehat mikor "lefele" akarnal lepegetni akkor felfele lep valojaban, de mivel mar a legelso menun allsz, az atcsorog a legutolso menupontra (es utana megnyomod a masik gombot amivel az vissza csorog a legelsore) -- de ez mint csak egy eshetoseg merult fel bennem. UI: Masik lehetoseg, hogy nincs perges metesitesed es az mindig le ill fel fog szaladni a perges miatt a legelso ill. legutolso pontra...
Nem visszafelé lépek, de azt hiszem, meglesz a hiba.
Egy végtelen ciklusban van a léptetés úgy, hogy bizonyos feltételek teljesülése esetén lépjen ki a ciklusból. Este majd megnézem alaposabban, mert az a gyanúm, hogy az egyik feltétel nem teljesül, a másik feltétel pedig a menü végének elérése. (Ez teljesül.) Az első teljesülése esetén csak egyet lépne, és kilépne a ciklusból. Ez nem teljesül, és a számláló így végig pörög a második feltételig. Legalábbis most így gondolom, de este ellenőriznem kell. A második felvetésed viszont elgondolkodtató. Megnézem oszcilloszkóppal ezt is.
Ebben igazad van. Az egyik haverom kért meg hogy csináljak és törjem fel neki a procijait és sikerült is feltörni őket. Igazából nekem sincs szükségem erre a funkcióra de ha már egyszer van akkor próbáljam ki .
Sziasztok!
atiny45 AVR memoriájába szeretnék írni egy 16 bites számot. Kérdés: Hogy tudom megtenni programbol. AVR studioval programozok. AZ AVR memoria tartalmát hogyan tudom kiolvasni? AVR működés közben lehetőség van a memoria adott címének kiírása vagy ellenörzése?
Meg is van a hiba. Developer error a neve.
Nem nulláztam a feltétel meghívását végző számlálót, és mivel ciklusban volt az a függvény is, mindig meghívódott, léptetve így a számlálót a végpontig. Úgy tudtam csak rájönni, hogy lelassítottam a végtelen ciklust a main függvényben egy _delay_ms(500)-zal.
Hello!
Valaki légyszi mondja már meg miért nem hajlandó működni a PWM Atmega8-ason az alábbi beállításokkal! Nekem lövésem sincs már... LED-del tesztelgettem, katód a földre anódja a PWM lábra csatlakozik. Attiny 45-nél 1 perc és simán működött ugyanezen szisztéma szerint beállítva.
|
Bejelentkezés
Hirdetés |