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
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: Sze, 21:14
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: Sze, 21:18
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... |
Bejelentkezés
Hirdetés Frissek 2013. Máj, 23. Csü
21:41:39 Jelenleg 523 fő olvassa az oldalt
Online tagok:
|









Hírek.xml

