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
Sajnos ebbol a dokumentaciobol semmi nem derul ki a flow control-t illetoen. Tobbet ir a vindoz driver-ekrol, mint a nyomtatorol. Utananezek, hatha van meg valami elerheto info rola.
Sziasztok!
Így van konfigurálva az SPI és a Timer2: //SPI: master, [interruptos kezelés], MSB először, 2MHz (8MHz kristály mellett) SPCR = (0<<SPIE) | (1<<SPE) | (1<<MSTR) | (0<<DORD) | (0<<SPR1) | (0<<SPR0); //TIMER2 kb. 1ms-os megszakítás TCCR2 = (1<<WGM21) | (1<<CS21) | (1<<CS20); OCR2 = 249; TIMSK |= 1<<OCIE2; A TIMER2 megszakításban lábakat állít be, majd elindít egy SPI átvitelt (csak itt történik SPI átvitel!) SPDR=egyváltozó; Jól tudom, hogy az SPI megszakítás akkor lép életbe, ha kész az előző Timer2-es megszakításban elkezdett átvitel? Köszönöm!
Sziasztok!
Lenne egy lúzer kérdésem. Van egy adott fájl állomány, csatolok képet. Milyen programot alyánlanátok hex be való fordításhoz.... Ezekból kiderülhet milyen programmal készültek..?
Szia !Ha interrupt-os SPI-t akarsz ,miért nem engedélyezed ?
Amíg a Timer2 megszakítás fut,addig az SPI vár,csak a flag áll be,ha kész.
Szia!
AvrStuidoval nyitható ? Vagy Winavr-el..? Találok valami leírást magyarul , hogy is kell ..?
Szia.
Az engedélyezés később történik, amikor már minden konfigurálva van. Habár lehet már hamarabb is beállítható lenne. Mikor fut le ez a függvény?
WinAVR-rel.
Belépsz a könyvtárba és beírod, hogy make. (előtte állítsd be a PATH-t rendesen, hogy megtalálja a make.exe-t)
Mesternél: ha elküldődött az adat
Szolgánál: ha érkezett adat
Magpróbáltam rákeresni.
De nem találtam hogyan. Ez a progi teljesen új számomra. Tudnál további segítséget adni, link is megteszi, videó a youtubon...
Bár nem most kezdem a mikrokontrollerezést , köszönöm a tanácsokat, van köztük pár amire jobban figyelnem kéne. Arduino nanot (klón) pedig most fogok venni. Azért inkább a nano, mert kettővel több analóg bemenete van az unonál.
Breadboard van, a kábelek pedig az atmega8-akkal együtt jönnek hozzá.
Azt írtad 15 éves vagy. Bár ez mondjuk semmit sem jelent, mert én 12 évesen már jobban értettem a Commodore 64-hez, mint a pedagógusok, simán ütöttem vágtam a gépi nyelvet is.
Azidőtájt szerencsésebb helyzetben voltunk, mert rengeteg magyar nyelvű könyv volt, de ha valamelyest beszélsz angolul is, az előnyös lehet. Talán azért is kedvelem ennyire a 8 bites mikrokontrollereket, mert kísértetiesen hasonlítanak felépítésükben a 30 évvel ezelőtti Commodore-okra és afféle nosztalgia érzése van az embernek. Azidőtájt az asztali gépek tudtak annyit, mint most ezek a 28 lábú chipek.
Az angoltudásom elég ahhoz, hogy megértsem a dokumemtációt, de a c-vel még vannak gondjaim.
Mekkora lenne csinálni egy C64 klónt AVR-rel. ![]()
Idézet: Ahhoz egy kis HW cucc is kellene... A C64-ben a korahoz kepest igen komoly video chip volt, nem beszelve a hanggeneratorrol. De az kilencszazakarhany kilohertzes (<1MHz) processzort sem lenne egyszeru egy AVR-rel emulalni. „Mekkora lenne csinálni egy C64 klónt AVR-rel.”
Sziasztok
A mai napon egy új fogalommal ismerkedem: Oversampling Ezzel kapcsolatban tudnátok segíteni, hogy megértsem, hogy is működik ez? Érdekes, hogy a leírások szerint, ezzel a technikával lehet 10bit ADC-ből nagyobb felbontást elérni. Minden ezzel kapcsolatos info érdekel, próbálkozott már ezzel valaki? Itt található a gyári leírás: Oversample
AnalógVonal = ADCbeolvasott + Kvantálási zaj + egyéb zaj
Amennyiben megfelelően zajos környezetben használod az ADC-t és a zaj fehérzaj szerű, akkor az alsó biteken az ADC össze-vissza elkezd ugrálni. Ha pl. 11.7 lenne az ADC értéke, akkor 70%-ban 12-t, 30%-ban 11-et ad vissza az ADC. Az oversampling (túl-mintavételezés) lényege, hogy kihasználod, hogy az ADC-hez egyenletes fehérzaj is hozzáadódik, többször mintavételezel és átlagolsz. Én nem a pontosság növeléséhez használom az oversampling-ot, hanem simításhoz és a tüskék kiszűréséhez. A hozzászólás módosítva: Dec 9, 2014
Nem azt mondtam, hogy könnyű lenne, hanem, hogy jó móka lenne. Csak sajnos suli mellett nem sok idő jut ilyesmire.
Később sem lesz több időd. Én terepasztal automatizálással foglalkozom. A két gyerkőc mellett még kevesebb idő jut rá. De nem is sürgős, csak arra kell ügyelni, nehogy felnőjenek, mire befejezem.
![]()
Van esetleg egy müködö forditokorong vezérlöd?
Sziasztok!
Ha ATMEGA1280 es MAX202-on keresztül tolom át az információkat soros porton az EPSON LQ300+II nyomtatómra akkor esetlegesen limitálva vagyok az információ hosszának terén? És tudom használni az összes ESC kódot, tudom, hogy a max202 nem limitál engem, mivel csak hw illesztő, az avr-ben valami limit van-e?
Nincs fordítókorongom, kicsi az asztal.
A vonatérzékeléssel/irányítással foglalkozom. Nekem elsőre nem tűnt jó ötletnek telepakolni a terepasztalt optokapukkal. Felosztottam 16 szakaszra a síneket és áramfogyasztást mérek 2x3 diódával. Ha esik feszültség a diódákon, akkor van vonat. Ha a vonat áll, akkor néha rövid ideig ráadom a kakaót, ami fogyasztásmérésre elég, de mozgásra nem. Emellett a 16 különféle szakaszra különféle jelet tudok kirakni (0V, 12V). Egyelőre az analóg vonatokat fogom tudni külön-külön irányítani a különböző szakaszokon, de ha átírom a programot és bekapcsolok egy DIP kapcsolót, hogy 14V-ról menjen, akkor DCC-zni is lehet majd. Érzékeli a rövidzárat és zenél, ha egy fogót ráteszel a sínekre. Gombokkal állíthatod a váltókat, automatikusan felkapcsolja a világítást. Mire minden kész lesz, még egy év eltelik, vagy több. A lényeg, hogy a hardver menjen, utána jön a munka neheze: algoritmust találni, hogy megbecsüljem a vonat pontos pozícióját az idő és az előzőleg érzékelt sebességek alapján. Utána fényjelzők,... Maga a tápegység-vonatérzékelés-vezérlés elkészítése több mint egy év volt a vakvágányok miatt. Rengeteg fölösleges dologra vertem el az időmet, ami később épületes baromságnak bizonyult.
Nem vagy limitalva. Miert limitalna az AVR? Annyi adatot kuld ki, amennyit kikuldetsz vele. Ha a nyomtato nem tud tobb adatot fogadni, akkor megallit teged. Ez a flow control. A software flow control eseten a nyomtato kuld neked egy XOFF karaktert, ha mar nem tud tobb adatot fogadni, es majd kuld egy XON karaktert, ha ujbol kepes adatot fogadni. A hardware flow control eseten a printer a CTS kimeneten jelzi, hogy kepes-e adatot fogadni vagy. Ezt kell figyelni, es ennek fuggvenyeben kuldeni az adatot vagy varni. Azt, hogy az emlitett printer milyen flow control-t hasznal az szamomra nem derult ki az adatlapjabol. Sot, az EPSON weboldala szerint ez a nyomtato nem is rendelkezik sorosvonali bemenettel, bar ennek ellentmond, hogy az adatlapja szerint meg van neki.
Nekem a nyári szünetben egy kicsit valószínűleg több időm lesz, és ott talán egy nagyobb projekt is összejöhet.
![]() Ez mindannyiunknál igy szokott lenni. Nekem is most egy vezérlést kéne csinálnom és ehhez keresek ötleteket ill. a lehetö legkisebb chipet. 2 fajtára van univerzálisabb NYÁKom, a tiny 2313 nak szerencsére minden portja ki van vezetve, sajnos a nagyobbik 644-s procin a portok majdnem hozzáférhetetlenek ( egy berendezéshez lett tervezve, ahova nem kellett a sok port csak a memoria).
Ötleteket gyüjtök hogyan tudnák max 32 LED-t meg ugyanannyi nyomogombot kezelni és az eredményt 2 porton kiadni. ( ideális lenne ha ez a tiny2313-l menne - mert erre a procira van kész NYÁK-om amin minden port elérhetö.
A 32 LED-böl egyszerre max 2 világithat. Kösz
Hát, nálam a jelzővezérlő (4x30 LED) egyelőre csak tervezés alatt van.
Arra gondoltam, hogy az Atmega16-nak megfelelően sok portja van (és a legolcsóbb az ebay-en a kategóriájában), van 32 IO pinje és 200 mA-ig terhelhető. Ebből raknék be 4 db-ot. Nézegettem IO expandert és shift regisztereket is, de kicsi a terhelhetőségük. Az 50-70mA az semmi. Ha úgy számolsz, hogy egy LED 10mA, akkor egyidőben 20 LED világíthat az Atmega16-on, ami jelzők esetében reális. Ha kisebb teljesítményű LED-eket használsz 5mA, vagy ULN-t, akkor lehetne IO expandert és shift regisztert is használni, de árban megint ugyanott vagy. Egy csomó Atmega16-ot SPI-n bekötnék (IO expandernek, csak 200mA-rel), egy központi IC irányítja az Atmega16-okat. Ez képes lesz fel is programozni őket. A központi IC programja tartalmazni fogja az expanderek programját és ha azt veszi észre, hogy változott, akkor egymás után ISP-n feltölti őket (RESET + SPI). A hozzászólás módosítva: Dec 10, 2014
Egy 4 digites kijelzőben pont 32 LED van és megoldják
![]()
> A 32 LED-böl egyszerre max 2 világithat.
2 16 bites demultiplexer (74HCT154)? A hozzászólás módosítva: Dec 10, 2014
|
Bejelentkezés
Hirdetés |