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
Nem lehet hogy a típus konverzió okozza? Próbáld meg (unsigned char) helyett...
Tévedtem. Nem az okozza. Próbálom kideríteni.
MEGVAN!
ISR legelején van egy eor r1, r1. Ebben ugye nulla lesz. Kipróbáltam, hogy más ISR-nél nullát használok. Oda is r1-et ír. Ergo: A fordító az r1-ben előállít egy nullát. Mindenhol, ahol nullát írsz _bárhová_, ott r1-et használ. ISR belépésnél r1 = 0-át használja fel. Azonnal ahogy PORTB = 1-et írsz, máris áthelyezi egy másik regiszterbe. Gondolom egyszerűbb a fordítónak egy fizikai regiszter értékét felhasználni, mint pl clr -t vagy bármit használni. A nullát sem törléssel, hanem dupla exkluzív or-ral hozza létre. Ennek lehet hogy HW-es oka van. De ebben azért nem lennék biztos.
Igen, koszonom a valaszt, idokozben az AVRFreaks-en is feltettem ezt a kerdest:
Bővebben: Link Azt magyaraztak, hogy a fordito "__zero_reg__"-nek hasznalja az r1-et, es igy optimalisabban kepes az IO portokba torteno nullazasokat elkovetni. (merthogy CLR nem megy IO regisztereken) Ugy tunik, hogy az r1 nullazasa az a prologue dolga lenne -- merthogy MUL utasitasnal az r1-et szinten hasznalja es igy pl. egy ISR rutin eseteben nem lehetunk biztosak, hogy az r1 0 volt-e mielott a rutinba beleptunk...
AVR mintaprogramok
(összesen még csak egy darab, de pont ADC) Idézet: Ezt en is megfigyeltem. „Mindenhol, ahol nullát írsz _bárhová_, ott r1-et használ.”
Készül szép lassan a szögjeladós cikk. Van rá igény, hogy a viszonylag egyszerű egyszeres és kétszeres dekódoláshoz is írjak kódot c-ben? Eredetileg úgy terveztem, hogy csak a négyszeres dekódoláshoz készül egy demó kód és kapcsolás, mivel ez a legtrükkösebb. De közben fel merült bennem, hogy lehet volna igény az egyszerűbb dekódolási módszerek ismertetésére is. Természetesen ez több idő -> Lassabban lesz kész a cikk.
Köszi szépen a linket!
Sikerült megoldani a dolgot Andris
Üdv mindenkinek! A lenti linken, a Topinak
a leírásában van egy jó csengő. Olyan gondom van, hogy én, egy az általam kedvelt kis dallamrészletet szeretném beégetni. Letöltöttem a forráskódot, de nincs olyan file, amelyiket egy az egyben, le lehetne fordítani. Ha jól látom a "main.c" a vezérlő és "melodies.c" a dallamrészeket tartalmazza, tehát ezeket kell összefüzni, és lefordítani, vagy nem jól látom? Hogyan lehet megoldani, hogy egy db. rövid dallam szóljon, mit és hogyan kell átírni? Járatlan vagyok a proramozásban, a "Nullától a robotig"-című PIC-es cikket tanulmányoztam, égetőt is összehoztam, villognak a ledek. Ez teljesen más, a C-nyelv, és az AVR, teljesen ismeretlen. Kérlek benneteket, hogy segítsetek. Köszönettel! oregharcos Bővebben: Link
Üdv!
Szerintem erre is lenne igény, részemről biztosan, de ilyenről már olvastam valahol, így nekem elsőre az jutott eszembe, hogy: A következő linken található egy leírás erről a megoldásról: "link", de én ezt a felbontást megnégyszereztem és íme ez olvasható ezen az oldalon Szerintem ez bőven elegendő lenne. (Esetleg akár lehetne több részes cikket is készíteni róla)
Minel terjedelmesebben, reszletesebben, tartalmasabban
Akkor szokott jo lenni egy cikk, ha amolyan tutorial jellegu, az egyszerubb problematol fokozatosan halad a nehezebb feladatok fele. Ahogy az olvaso szedi fel a tudast kepes megerteni a kovetkezo lepest stb -- ill. ha bizonyos siznt tul sok neki akkor akar felbe is hagyhatja, es meg igy is szedett fel hasznos tudasanyagot a cikkbol...
Igen, ebben van valami. Majd igyekszem úgy felépíteni a cikket, hogy a nehezebb rész (négyszeres dekódolás) nélkül is használható legyen. Persze ehhez akkor az is hozzá tartozik, hogy lesz C kód az egyszerű dekódoláshoz is.
Sziasztok!
Atmega8-at szeretnék soros porton programozni, az alábbi kapcsolási rajzot találtam. Összeteszem és Ponyprog-gal próbálom programozni, de nem sikerül. A ponyprog, olyan hibaüzenetet küld, hogy nem találja az eszközt. Ha valaki tudna segíteni, hogy hol a hiba, mit csinálok rosszul. Köszi!
Hali!
Azért,mert ez egy sima rs232-ek kommunikáció RX-TX vonalon. Ez csak akkor működőképes, ha már fut valamilyen program a uC-ben. PonyProg-al valsz a párhuzamos port lesz a nyerő ISP-vel, ami ha izmos a printer portod,akkor pár szál vezeték, de legrosszabb esetben is csak egy IC az egész. Erről bővebb infó van a topicban és bőven lehet találni neten is. Üdv Kiborg
Kösz a linket, itt is jártam.
A TCP/IP Stack az nem egy adott Ethernet illesztőhöz való példa "programhalom", amiben minden bennevan és nekünk kell kiválasztani, hogy mi kell, mi nem? Arra volna szükségem, hogy egy flash-ben tárolok pár html fájlt és FTP-n keresztül tudok feltölteni. A tixgraphics-esben sajnos nincs FTP, csak HTTP. Idézet: „A TCP/IP Stack az nem egy adott Ethernet illesztőhöz való példa "programhalom", amiben minden bennevan és nekünk kell kiválasztani, hogy mi kell, mi nem?” A TCP/IP stack az adatkapcsolati rétegere épül és socket csatlakozókat kezel. A HTTP, FTP stb. ilyen csatlakozókat használ az átvitelre.
Hello mindenki!
Olyan kérdéssel fordulok hozzátok hogy egyszerűen meg lehetne oldani 3db 5V-os DC motor vezérlését külün külön? (sebbeség szabályzás és forgás irány váltásra gondolok véletlen szerűen) a választ előre is köszönöm
Basciom illetve Arduino/C alatt megoldható egyszerűen (relatív). Csak az ENC revíziószámára is figyelj!
Bascom/Arduino + ENC28J60
Mindent +lehet....
Az irányváltás az ugye oda-vissza. Ez a legegyszerűbben valami hídkapcsolással megy (2 lábat foglal). sebesség alatt mondjuk feszültségszabályozás legyen. Ezt PWM-l megoldod, mondjuk a híd vezérlőjének egyik felével. A 3 motorhoz kell 6 láb .
Köszi szépen de ez nekem egy kicsit érthetetlen ha kérhetnélek egy kicsit részletesebben írd le meghogy milyen AVR lenne erre a célra megfelelő ha kérhetnélek
(a fel programzzásal nem lenne gond szakoktatóm tud)
Hali!
Egy Mega16 portbővítését szeretném megoldani egyetlen IC-vel.Minimálisan 25 kimenetre van szükségem (5x5x5LED CUbe a cél projekt) erre szeretnék használni sima egyszerű soros léptetésű IC-t (EGY TOKOT!!!) Van valakinek valami ajánlata ? Találtam egyvariációt de nem vagyok biztos benne, hogy erre gondoltam, mert csekély angol tudásommal arra jöttem rá,hogy ez többet is tud,és nem sima shift regiszterként működik,hanem címezni kell,stb... Vagy én értem félre az adatlapot ? Olyan kellene,mint a CD4094. Csak nagyobb lábszámban. Létezik ? Üdv Kiborg
A Mega16-nak 32 IO-ja van, ebből bőven kijön a 25! Miért szeretnéd külső IC-vel meghajtani a kockát?
4*8=32 IO láb.
Lejön 4 IO JTAG-nek,mert azon fejlesztek és debugolok. Lejön 2 db a goboknak, 2 db az RS232-nek. Marad 28 láb. 5 db kell a szinteknek,marad 23 láb,ami kevés. Esetleg: 25 láb LEDekre, 3 láb multiplexelve a szinteknek (max 8 szint), de akkor még nincs hozzá külső memória pakolva,amit lehet nem ártana majd később. Szóval ezért. Kiborg ui: a 25 IO csak egy szintre vonatkozik !!! Nincs benne a szint kiválasztásához szükséges IO portok száma!
Közben eszembe jutott egy lehetőség, bár lehet, túlkombinálom az egészet, és jócskán lelassítaná a rendszert. A lényeg, hogy kellene egy shift regiszter, ezt sorosan fel tudod tölteni, vagyis elég két láb. A shift regi kimenetére ráakasztasz 3 darab latch-et, ezekbe betöltöd a megfelelő paramétereket, így még kell 3 láb, ez eddig 4. És a 3 latch kimenetére raksz még 3 latch-et, így elérve, hogy a kimeneten egyszerre jelenjen meg "adat". A három utolsó latch engedélyező lábát közösítheted, így lesz még egy plusz vezérlőlábad, ami összesen 5 darab IO-t jelent. A két darab latch egymás után nem tudom mennyire életképes, még nem próbáltam, csak tervbe van véve egy kijelzőhöz!
Ha nem érted esetleg mire gondolok, szólj és lerajzolom!
5x5 LED => 5+5LÁB => 10 láb multiplex módban.
Szia!
Köszi, de felesleges ennyire túlbonyolítani! Direkt az a célom, hogy 1 db IC-vel kelljen csak bővíteni a uC-t. Ez meg sokkal több. Ami te elmondtál 16bitesben találtam már SN74LS673, bár itt meg az a baj, hogy kicsi a max kimenő áram (8mA). Ezért vadászok más típust. janyjozsef : 5x5 LED => 5+5LÁB => 10 láb multiplex módban. Ezzel az a baj, hogy csökken a bekapcsolt állapotban töltött idő (kitöltési tényező) és ezzel együtt csökken a fényerő is. Ha síkonként váltok, akkor 1/5-öd a kitöltési tényezőm, ha ledenként (multiplexelve), akkor meg 1/125-öd. Köszi,de erre gondoltam és ezért elvetettem. Kiborg ui: aki angolos az nézze már át az első hozzászólásomban linkelt maxim IC adatlapját, hogy az soros bemenetű vagy vezérelni kell valami buszon keresztül.
SPI interface-en keresztul tudod vezerelni -- eleg egyszeru az interface, szoftveresen is siman meg tudod hozza irni az SPI modult. Gyakorlatilag megcimzed a port labat es beallitod, hogy alacsony vagy magas legyen. Ha bemenetnek hasznalod akkor pedig kiolvasod -- ill. akar interruptot is kerhetsz az eszkoztol ha valamelyik bemenet valtozik. Nekem egeszen szimpatikusnak tunik...
|
Bejelentkezés
Hirdetés |