Fórum témák

» Több friss téma
Fórum » AVR - Miértek hogyanok
 
Témaindító: pakibec, idő: Márc 11, 2006
Témakörök:
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
Lapozás: OK   509 / 840
(#) kurosaki válasza kurosaki hozzászólására (») Jan 16, 2013 /
 
hozzá teszem nekem csak a mélyre/basszusra kéne hogy reagáljon a ledem/Fénycsövem nem kell ien csilivili 16x16 os led soros kijelzö megelégszek egy olyannal is ami a mélyre reagál.
(#) Sick-Bastard válasza Sick-Bastard hozzászólására (») Jan 17, 2013 /
 
Rájöttem mi volt itt a baj, ennél a jelenségnél.

A gond ott volt, hogy miután beállítom az SPI Controll Register CPHA bitjét 1-re:
  1. SPCR |= (1<<CPHA)

Utána szimplán:
  1. SPCR |= (0<<CPHA)

műveletet használtam a
  1. SPCR &= ~(1<<CPHA)

helyett.

És kezdőként nem vettem figyelembe, hogy 1 | 0 = 1. Csakis a 1 & ~(1) = 0 azaz 1 & 0 = 0 működhet. Na így szeretek tanulni!
A hozzászólás módosítva: Jan 17, 2013
(#) FMSound hozzászólása Jan 17, 2013 /
 
Üdv!

Eddig Picet használtam, most viszont AVR-rel kellene dolgoznom. Elsőként az érdekelne milyen programot használjak a felprogramozáshoz, lenne 2 áramkör amit meg kellene építenem a hardver részt, a szoftver meg van. Keresgéltem a fórumon, de nem tudom mivel kezdjem. Mit javasoltok?
Köszi!
(#) Fizikus válasza kurosaki hozzászólására (») Jan 17, 2013 /
 
Idézet:
„MSGEQ7 IC mit is tud pontosan?”


Az MSGEQ7 egy 7 csatornas equalizer IC. Az audio spektrumot 7 csatornara osztja fel (63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6,25kHz es 16kHz). Az egyes tartomanyok amplitudojanak csucsertekeit meri, es a kimeneten egy ezzel aranyos DC feszultseget jelenit meg.
Ezt a mikrovezerlon ADC-vel lehet merni.
Egy-ket hasonlo project:
Bővebben: Link 1
Bővebben: Link 2

De az IC nelkul FFT-vel (Fast Fourier Transformation) is megoldhato a dolog, de ez lehet hogy egy kicsit szamolasigenyesebb es jobban leterheli a mikrovezerlot:
FFT

(#) Sick-Bastard válasza Sick-Bastard hozzászólására (») Jan 17, 2013 /
 
Úgy néz ki megvan a hiba.

A bekötések jók voltak, csak egy fránya kontakthibás vezeték is volt az áramkörben, pont a CSn....

A vicc benne, hogy mikor megnéztem multiméterrel, vagy 3-szor, mindig jó volt, csak amikor kihúztam, akkor maradt a hegye a panelben.
(#) csabeszq válasza Sick-Bastard hozzászólására (») Jan 17, 2013 /
 
Ha megnyugtat, én 6 órát toltam el az I2C-vel, meg azzal a rendkívül bonyolult két darab 4k7-es ellenállással, mivel nem ment a kommunikáció.

Az történt, hogy letöltöttem az ATMEL-től az I2C-s példaprogramokat. Természetesen nem fordultak avr-gcc alatt, mert a _delay_cycles()-t nem ismerte az avr-gcc, én meg átírtam nagy buzgón _delay_ms-re.

Ugye valamit nagyon elszámoltam, mert 4.7us helyett kb. 3-4 másodperc lett egy bit átvitele. Működött, csak annyira lassú volt, hogy azt hittem, nem megy.

A hozzászólás módosítva: Jan 17, 2013
(#) kurosaki válasza Fizikus hozzászólására (») Jan 17, 2013 /
 
Értem sztem a IC marad egyenlőre az "olcsobb" megolás és járhatobb és elvileg ennyi a kód hogy müködjön és ezt kell nekem átvariálni hogy bassusra menjen.
  1. // Spectrum analyzer read values will be kept here.
  2. int SpectrumLeft[7];
  3. int SpectrumRight[7];
  4.  
  5.   //Setup pins to drive the spectrum analyzer. It needs RESET and STROBE pins.
  6.   pinMode(5, OUTPUT);
  7.   pinMode(4, OUTPUT);
  8.  
  9.   //Init spectrum analyzer
  10.   digitalWrite(4,LOW);  //pin 4 is strobe on shield
  11.   digitalWrite(5,HIGH); //pin 5 is RESET on the shield
  12.   digitalWrite(4,HIGH);
  13.   digitalWrite(4,LOW);
  14.   digitalWrite(5,LOW);
  15.  
  16.  
  17. // Function to read 7 band equalizers
  18.  
  19. void readSpectrum()
  20. {
  21.   // Band 0 = Lowest Frequencies.
  22.   byte Band;
  23.   for(Band=0;Band <7; Band++)
  24.   {
  25.     SpectrumLeft[Band] = analogRead(0); //left
  26.     SpectrumRight[Band] = analogRead(1) //right
  27.     digitalWrite(4,HIGH);  //Strobe pin on the shield
  28.     digitalWrite(4,LOW);    
  29.   }
  30. }


Uj kérdés kaptam egy LCD/nem tom mien képernyöt 6 DB tüje van de csak 5 kabel kivezetese ismeretlen a kijelzö szamomra semmi info nincs rola. Hogyan tudném életre lehelni? ha ra kötöm + - ra akkor adnia kene valami "kepet"? vagy kell hozza még valami?
(#) zombee válasza FMSound hozzászólására (») Jan 17, 2013 /
 
Attól függ, mid van.
Ha már megvan a szoftver akkor kell még egy égető és az azt kezelő program.
Egy olcsó STK500 klón bőven megteszi, és ha nem akarsz nagyon fejlesztgetni, sorozatgyártani,
és WinXP alól használnád akkor egy AVR-Doper is bőven elmegy.
(#) blackdog válasza kurosaki hozzászólására (») Jan 17, 2013 /
 
Ha van háttérvilágítás akkor kösd be azt is és a kontrasztot is. Így a semminél többet kell látnod, de amíg nem inicializálod addig semmi sem fog történni.
Próbáld meg a HD44780 alapján inicializálni. Persze ahhoz is tudnod kell hogy melyik tüske melyik. Indulj el a HD alapján. Nekem ez már párszor segített.
Vagy nézd meg milyen IC-k vannak az LCD-n.
(#) zolee1209 válasza kurosaki hozzászólására (») Jan 17, 2013 /
 
Idézet:
Bővebben: Link


(#) kurosaki válasza zolee1209 hozzászólására (») Jan 17, 2013 /
 
Rendben töröltem hozzászolásomat.
(#) zolee1209 válasza kurosaki hozzászólására (») Jan 17, 2013 /
 
Nem kellett volna törölni, csak a megfelelő helyen, megfelelő módon feltenni.
(#) kurosaki válasza zolee1209 hozzászólására (») Jan 17, 2013 /
 
de nem ide tartozott ujra felteszem a kerdest a masik megfelelö topicba.De igazabol neki valaszoltam hogy mit látok.Kiserletezem hogyan tudom életre lelni.
(#) FMSound válasza zombee hozzászólására (») Jan 17, 2013 /
 
Köszönöm zombee!
Vettem mivel eddig nem volt avr programozóm, és a programozóba is kell avr ( tudom vannak egyszerűbbek amibe nem)... vettem egy kitet. Egyenlőre fejleszteni nem szeretnék de van egy áramkör amiből többet le kell gyártanom...
hex fájl megvan...

Így milyen irányba induljak?
Köszi előre is!
(#) zombee válasza FMSound hozzászólására (») Jan 18, 2013 /
 
Hát meg kell építeni, alkatrészt beszerezni.
Ha a NYÁK maratás nem megy akkor biztos lesz itt aki megcsinálja(még én is),
de ha olyan akkor mátrixos panelon is megépítheted.
(#) FMSound válasza zombee hozzászólására (») Jan 18, 2013 /
 
Mint írtam, vettem egy kit-et a he store-on. (a megépítés sem lett volna gond, elég sok áramkört építettem már....) a kérdés, megvan a hex fájl, melyik programmal programozzam fel a vezérlőt, AVR studio?
(#) csabeszq válasza FMSound hozzászólására (») Jan 18, 2013 /
 
Én abban a meggyőződésben éltem idáig, hogy a kitekben az IC-k előre fel vannak programozva.
A hozzászólás módosítva: Jan 18, 2013
(#) FMSound válasza csabeszq hozzászólására (») Jan 18, 2013 /
 
Fel is van, éppen ezért vettem meg, de után a melyiket használjam, kit össze rakva, és most melyikkel a legegyszerűbb kész hex fájlt feltölteni a vezérlőre.
(#) csabeszq válasza FMSound hozzászólására (») Jan 18, 2013 /
 
Én megvettem az eredeti AVRISP MKII-t 10.000 Ft-ért, elégedett vagyok vele, de már feleannyiért is lehet ugyanilyen klón programozót venni.

Ha pedig soros portod is van, akkor 1.000 Ft-ból is megoldhatsz egy programozót házilag.
Ha netántán Arduino-d van a háznál azzal programozhatsz ingyér is.
Volt itt, aki egy pickit programozót csapott felül szoftverrel.

1.000-100.000 Ft között minden megoldás lehetséges.

Akinek sok pénze van az vásárol, akinek kevesebb az szerel és programozik. Nincs általánosan jó megoldás
A hozzászólás módosítva: Jan 18, 2013
(#) zombee válasza FMSound hozzászólására (») Jan 18, 2013 /
 
Ha itt vetted a HEStore-n akkor AVR Studio kell hozzá. Ha Win7-el tolod akkor kicsit trükközni kell.
(#) csabeszq válasza zombee hozzászólására (») Jan 18, 2013 /
 
Oké, félreértettem a dolgot.

Az AVR Studio-val próbáld meg programozni, én 4-eset használok.
(#) FMSound válasza zombee hozzászólására (») Jan 18, 2013 /
 
Még xp-m van
(#) FMSound válasza csabeszq hozzászólására (») Jan 18, 2013 /
 
Eddig AVR studio 5.1 megnyit, file/ open file/ megnyitom a hexet.
Utánna tools/AVR programming de nem lát interface-t, hogyan tudom beállítani hogy lássa a programozót, usb-n. Mikor rádugtam a gép észlelte, hogy avr dopler lett csatlakoztatva. avr sutdioban mit állítsak?
(#) zombee válasza FMSound hozzászólására (») Jan 19, 2013 /
 
Az 5-ös nem fogja látni. Használd a 4.18 verziót!
(#) TavIR-AVR válasza FMSound hozzászólására (») Jan 19, 2013 /
 
A DOPER HEX-ben egy AVRISP szöveg van. Azt cseréld ki STK500-ra.
A Studio5/6 azt ellenőrzi. A régi eljárás az AVRISP-t is elfogadta STK500-nak.
Vagy maradj a Studio 4.x sorozatnál (4.19 az utolsó).

Programozási sebességet vedd majd le kicsire, hogy a doiper _valamelyest_ stabil maradjon...
(#) zombee válasza TavIR-AVR hozzászólására (») Jan 19, 2013 /
 
Látszik hogy otthon sokat foglalkoztál vele, gratula!
Csak az a kár hogy az illető még elindítani se tudja, akkor hogyan cseréljen fw-t?
A "programozási sebesség" sajnos független a beállított értéktől,
1.8MHz-re állítva 22kHz-et mértem. Egyébként az azonosító 8 karakter, tehát "STK500_2".
A hozzászólás módosítva: Jan 19, 2013
(#) Sick-Bastard hozzászólása Jan 19, 2013 /
 
Üdv!

Úgy néz ki sikerült valamit összedobnom.

Megy a kommunikáció, írás/olvasás, az AVR (8535) és az EEPROM (25LC320) között.

Annyit szeretnék kérdezni, hogy a kódom méretét lehet-e valahogy csökkenteni?


SB
(#) zombee válasza Sick-Bastard hozzászólására (») Jan 19, 2013 /
 
Mit akarsz rajta csökkenteni? Talán nem fér bele?
(#) Sick-Bastard válasza zombee hozzászólására (») Jan 19, 2013 /
 
De bőven elfér.

Csak kezdőként nem tudom, hogy lehetne e kisebb is a program.
Tehát, hogy ugyanazt a feladatot megoldhatná e a vezérlő kevesebb kóddal is.
(#) zombee válasza Sick-Bastard hozzászólására (») Jan 19, 2013 /
 
Minden feladatnak van egy Turing-bonyolultsága, ami azt jelenti hogy mindig lesz egy pont,
ahonnan nem csökkenthető a kód mérete. Mindenesetre kezdőknek azt tanácsolom,
hogy az optimalizálást az elején felejtsék el, sokkal egyszerűbb és könnyebb idővel rájönni
a gixerekre. Szóval, használdd ezt a kódot, ha a végén túl nagy lesz akkor gondolkozz
IC váltáson(atmega16/32 felé). Ha fejlesztesz is és nagy lesz a kód, egy gyorsabb programozó
is valószínűleg számításba jön, de még a programozó vagy IC csere is sokkal olcsóbb lehet
mint napokat-heteket az optimalizálással tölteni hogy beleférjen a kód abba a nyamvadt IC-be...
A hozzászólás módosítva: Jan 19, 2013
Következő: »»   509 / 840
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem