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
Oké.
Igen azt próbálom AVR-re átültetni. Csak a programmal gyűlt meg a bajom... Még arra kéne rájönnöm hogy ha a freq változó elszámolt 200-tól 66-ig, akkor kezdjen el visszafele számolni ne ugorjon egyből 200-ra.
Oda-vissza számolásnál az alap, amire gondolni kell az a negatív számok és az abszolútérték függvény.
Tehát: nem 200-tól számolsz 66-ig, hanem -134-től +134-ig. A frekvencia a számlálód abszolútértéke + 66.
Sajnos nem ismerem az AS. nyelvet.
De a fő loop-ba csak akkor engedélyezd a gomb működését, ha az fel van engedve.
Sziasztok!
Korábban javaslatot kaptam, hogy atmega8-al valósítsam meg a készülő kis projektem amin 4db 7szegmenses kijelző, és pár darab led van. A négy 7 szegmenses kijelző vezérlésér szét kell bontanom(2x74ls47). Így ez összesen elfoglal 12 lábat a kontrolleren. 2x4 BCD kód, és 4db szegmensválasztó. Nem tudom használni még a programozáshoz és UART kommunikációhoz használandó lábakat, így a 21-ből már 16 foglalt lábam van. A maradék 5 lábról kéne valahogy kb 10 LED-et vezérelni, mint a F1-es autók kormányán a fordulat visszajelző ledek. Ehez kérnék tanácsot milyen IC-vel lehetne ezt megoldani. Esetleg a komplett kapcsolásom rossz így? A hozzászólás módosítva: Jún 30, 2013
Én a 7 szegmenses kijelzőt is multiplexálva hajtanám közvetlen az mcu-ról.
Ugyanide mehetne a visszajelző led is. Így nem kéne külső IC. Mannyire kritikus a fényerő?
Spi-t használni még jobban megbonyolítja a programozást, de remélem nem lesz akkora probléma ezzel. Na majd próbálkozom. Amúgy itt HE-n van UART, és SPI program is, szóval a kettőt össze ollózva talán nem lesz akkora nehézség. Így használhatnék több 74HC595 IC-t.
Közvetlenül az mcu-ról multiplexálvan hány láb kéne a 7szegmenseshez? Mert lassan így is szűkében vagyok! Köszi a segítséget. A hozzászólás módosítva: Jún 30, 2013
Shift regiszterhez nem muszáj az SPI. Minimális a gyorsulás ahhoz képest, mintha programból állítanád a lábakat. Durván fele a sebesség programból, ami a legtöbb esetben nem kritikus.
Ha meg interruptolsz is hozzá, akkor már lassabb is lehet, mint szoftveresen.
Tizedespont nem kell. Külső kvarc kell az UART kommunikáció miatt.
Ja és SPI kell valamihez, vagy csak az IC-ket hajtani?
Csak az ICkhez. Amúgy elegendő az UART. PCről kapok egy byte-ot és azt küldi ki a 7szegmens egyikére vagy a ledekre.
Akkor ez a kod nem is lenne jó?
A hozzászólás módosítva: Jún 30, 2013
Így megoldható, habár a fényerő már tud csökkenni 6-os multiplexbe.
Az ellenállások kimaradtak a PD7-PB5 lábig.
Próbáld ki, ha működik maradjon így, ha nem javítsd ki.
Többféleképpen is meg lehet oldani egy problémát és mi informatikusok hajlamosak vagyunk olyan 3 soros megoldásokat adni, melyeket rajtunk kívül mások nem értenek. A te megoldásod érthető, mert közvetlenül a problémánál maradtál.
Van olyan LED elrendezés, hogy jóval kevesebb vezetékkel irányíthatsz LED-eket.
Alapja, hogy a LED csak egy irányba vezet, a másikba zár. Kötsz egy LED-et az 1-2, 1-3, 2-3, 3-2, 3-1, 2-1 lábakra és máris 3 vezetéken 6 LED-et irányítasz. 4 vezetékkel a 10 LED lefedhető, de egyszerre csak egyet tudsz bekapcsolni, szóval multiplexelni kell. A hozzászólás módosítva: Júl 1, 2013
Gondolom a charlieplexing-re gondolsz. Pár szót én is szólnék róla. Ha LED-eket kapcsolsz charlieplexing módban akkor szinte alig különbözik a "sima" multiplexálástól, de a vezetékek (egy híján) fele megspórolható vele. Alapszabály: N darab vezetékkel N*(N-1) LED hajtható meg, ill. ha billentyűzeted van akkor ennyi nyomógomb köthető be egyszerre.
Még egy nagyon fontos különbség a sima multiplexáláshoz képest, hogy ha soronként multiplexálsz akkor az egyik vezetékkel kiválasztod a sort, a többivel (N-1 darab) az adott sorban lévő LED-ek gyújtását állítod be. A gyújtás a sorkiválasztó vezetéknél használt polaritással ellentétes, ha pedig sötét marad akkor HI-Z állapotba kell tenni. Az áramkorlátozó ellenállást az N datab vonal és a mikrokontroller közé szokták tenni, de ekkor egyszerre csak 1 darab LED hajtható meg a feszültségesés miatt. Ha LED-enként teszel ellenállást akkor egyszerre N-1 LED hajtható meg, de ügyelni kell a mikrokontroller áramfelvételére(sormeghajtónál a legnagyobb). Keress rá, kísérletezgess, méregess, többet nem tudok segíteni!
Sziasztok! Egy nagyon amatőr kérdésem lenne a publikumhoz. Egy forráskódot és a hozzá tartozó makefile-t, hogyan tudom újrafordítani a saját beállításaimmal avr studioban? Sajnos sok, általam kedvezőbb beállítás csak így fejtené ki hatását, de a mikéntjéről fogalmam sincs. Programíráshoz nem értek, csupán egy meglévő prog. paramétereit szeretném "hexesíteni"Köszönöm a segítséget előre is!
Tisztelettel: Zoli
A piezom kattog mintha megbolondult volna :/ Mi lehet a baj :/
Ha csak 1 frekvenciát engedek rá és akkor is. A lenti bekötéssel tesztelem. A hozzászólás módosítva: Júl 1, 2013
Szia!
Egyszerűbb, mint gondolnád. Feltételezem, hogy a makefile-t és a hozzátartozó fájlokat valahová bemásoltad. Amennyiben a fájlok egy bizonyos könyvtárstruktúrában léteznek, azt ne változtasd meg, különben nem fog semmit megtalálni. A start-menüben az Atmel bejegyzés alatt találsz egy Atmel Studio Command Prompt bejegyzést (ezt a 6.1-re írom, a régebbiekre nem tudok fejből hozzá szólni). Ezt felhívod, kinyílik egy cmd ablak. Innen elvándorolsz abba a könyvtárba ahol a makefile található. (DOS parancsok) Itt meg azt mondod neki, hogy make all. És ha minden rendben volt, akkor szépen megcsinálja a HEX-t.
Sziasztok, egy kérésem lenne: kaphato valahol ATMEGA1284PU, DIL-40 tokoasu proci? Kösz!
Gondolom előtte átírom a számomraq lényegesebb dolgokat a makefile-ban egy szövegszerkesztövel?
Sok sok köszi! Én eddig valami tortoise SVN és winawr-el küzdöttem de sikertelenül....
Örülök, hogy sikerült. Kívánok Neked további sok sikerélményt.
Még nem sikerült, csak próbálom. Nekem 4.19-es avrstudio van és annak nincs a start menüben"Atmel Studio Command Prompt"....
Sziasztok! így jól van bekötve ez az LPT programozó atmega8-ra?
A reset és az 5V közé ne 1k, hanem 4k7...10k-t tegyél.
Az LPT utáni 330 ohmok elhagyhatóak. A Vref -et én nem 5Vra kötném, hanem a Vref és a GND közé 100nF. Javaslat: XTAL1 és XTAL2-re a kvarcot raknám pluszban (kvarc + 2 db 15..33 pF kondi + 1Mohm a kvarc 2 lába közé.) |
Bejelentkezés
Hirdetés |