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
A memóriafoglalást (malloc) kihagytad. Azzal is csak módjával, bár inkább sehogy!
Sziasztok!
Van egy Atmega 8 -asom és olyan problémába ütköztem vele,hogy egyszerű ledet tettem a PB4 es lábra 100 ohm-os ellenállással.Ha bekapcsolom a portot mérhető rajta 5v feszültség ,de a led nagyon halvány .Szerintem nem kap elég áramot.(Több fajta leddel is ugyanez).Mi lehet a probléma? Láttam,hogy sokan a led katódját kötik az avr-hez.Ezt hogy oldom meg programban? A hozzászólás módosítva: Máj 19, 2013
Mikor mérted az 5V-ot? Amikor a LED rá volt kötve és haloványan világított?
Állítsd kimenetre:
Katódot is köthetsz rá, de akkor invertáltan vezérled: ha 0-ra állítod a PORT-ot akkor bekapcsol.
Sziasztok!
Atmega 8-ban kellene osztanom egy változót 12-vel,de sehogy sem megy. Hogyan lehetne azt megoldani,hogy az alábbi programban a (buf) változó minden 12. lépésére 1-et írjak ki? Ha valaki tud segíteni akkor előre is köszönöm. A hozzászólás módosítva: Máj 19, 2013
A hozzászólás módosítva: Máj 19, 2013
Opá.. Fordítva állítottam. Pic-eknél pont fordítva van.
Köszönöm a segítséget!
Köszönöm,ez nagyon hasznos info,de sajnos nem tudom felhasználni,mert szájbarágósabban kellene.
Elfelejtettem írni hogy valami kezdőknek való leírás kellene. A feltöltött projektben a programot nem én írtam,csak módosítanom kell egy saját projekthez. Azért kell osztani 12-vel ,mert az encoderem felbontása 12 ,nekem meg fordulatonként nem 12-t kellene kiíratni a képernyőre hanem 1 et , ahol tizedesek is jól jönnének. Egy gépen kellene ez eltolódást mérni,ahol a tengely végére felrakom az encodert és 1mm eltolódás a tengelyen 1 fordulat.
Ez kel:
uint64_t counter_tmp; uint64_t mm; // mm tárolása uint8_t mm12; // maradék mm 12-ed része function: itoa <stdlib.h> Convert integer to string (non-standard function) http://www.cplusplus.com/reference/cstdlib/itoa/ Csak a változó egész értékét konvertálja stringé. Ezért ketté kel bontanod a: counter_tmp = counter; //mivel megszakításból a counter változót folyamatosan állítgatjuk így inkább a kiiratás elött lemásoljuk az értékét, mivel jó esélyel meg fog változni kiirás közben is mm = counter_tmp/12; // mm számolás mm12 = counter_tmp - mm * 12; // Maradák számítás. // itoa(counter_tmp,buf,10); //int -> sztring konverzió itoa(mm,buf,10); //int -> sztring konverzió mm …. Talán tudod folytatni?
Nem tudom folytatni....
Ez így már nem segítségkérés, hanem potyázás!
Ezért csak valami fércmű a ki íratáshoz:
Már kezdem érteni...
Nem szeretnék potyázni,ez a 2. program amit szerkesztek. Az elsőt is csak módosítottam szükség szerint. Köszönöm az infókat.Ezt már remélem fel tudom használni.
Sziasztok!
Megszeretném kérdezni tőletek, hogyan tudom egy kondenzátormikrofon kimenetét felerősíteni, annyira, hogy egy Atmega32-es avr tudjon rajta frekvenciát számolni? Ez egy gitárhangolóba lessz. Segítségeteket köszönöm! Üdv. Attila!
Keress előerősítő kapcsolást, a neten találsz.
Ha az erősítő kimeneti jelszintje kevés, arra már nem kell erősítő: egy tranzisztor megteszi.
De az előerősítő után az Atmega32, hogy tudja értelmezni?
Hulye tipp:
a, ATMega 32 AD bemenetén az ADMUX regiszterrel 10x vagy 200x erősítést összehozni? és utána FFT (Fast Fourier Transform) megnézni a jellemző frekvenciát? Ez zajos környezetben is működik. b, A belső komparátor és a komparátor kimeneti INT-t számolod? Komparátor egyik része potival leosztva... FFT tipp: http://forum.arduino.cc/index.php/topic,37689.0.html http://elm-chan.org/works/akilcd/report_e.html A hozzászólás módosítva: Máj 22, 2013
Kérlek egy picit rajzold le, nekem amit elmondtál. Hogy illeszem a mikrofont és melyik portra, lábra?
A hozzászólás módosítva: Máj 22, 2013
Szerintem a kolléga sem gondolja azt hogy a mikrofont közvetlenül kösd az AVR-re.
Először kell az előerősítő, majd jöhet a többi.
Én se gondoltam közvetlen rákötni, van valami olyan megoldásod, hogy a frekvenciának megfelelő egyenáramot adjon ki a kimeneten?
Ötlet adó:
Mikrofonos frekvencia mérés PIC-el
Tipp: Kondenzátormikrofon kidob.
Elektret mikrofon berak. Azonnal megfelelő a jelszint...
Sziasztok!
Elméleti kérdés: Ha én írok egy programot és bizonyos beállításokat engedek futás közben módosítani amiket a belső EEPROM-ban tárolok el RESET hatására ezek a beállítások megmaradnak? RESET alatt értem a RESET gomb használatát.
Igen. Amire módosítottad, az marad...
Sziasztok!
Egy EPROM-ban 255 nél nagyobb "című" bájtokat hogyan érhetek el? pl 500-as bájt? mert az EPROM 2kb-os, de nekem csak 0-255bájtot sikerül elérnem, mivel a cím bájt 8 bites, vagy tévedek valamiben? Ez a főprogramom:
A hozzászólás módosítva: Máj 26, 2013
Igen. A nagyobb EEPROM-ok 2 byte-s címzéssel bírnak!
Én így használom:
Sziasztok vettem egy USBasp 3.3V/5V Programmer-t, kérdésem az lenne hogy a gép felismeri, de kellene valami szoftver hozzá, nem tudnátok segíteni, hogy mi kellhet?
Köszönöm! A hozzászólás módosítva: Máj 28, 2013
Szia! Én az eXtreme Burner - AVR -t használom hozzá.
Mondjuk kuka. Sok szívás mellett....
Legjobb szoftver: AVR-DuDe A hozzászólás módosítva: Máj 28, 2013
|
Bejelentkezés
Hirdetés |