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
Találtam én egyet ami elég jónak tűnik.
Kivettem belőle a nem AVR-es részeket és hát érdekes dolgokat csinál sőt inkább semmit. DogM128 Lib
Altalaban az LCD-k leirasaban benne van, hogy alap szinten hogyan kell feleleszteni. Probald meg azt leprogramozni, ha az sem megy lehet hardveres problemad akadt.
Köszönöm mégegyszer az okosítást
Nexusnak sajnos lőttek, mert az egyik variációban az ethernet portjait fogja, a másikban meg az ADC-t Mind1, úgysincs 550$-om erre (még). SPI-om kb 500 kHz-el fog menni, 255-el osztva meg a minimum 258 kHz, így szerencsére ez nem érint. Külön köszönet ezért, mert erratát még nem néztem eddig. 1 kristályt fogok végülis használni, azt is az ethernet chipnél, a chip meg kiad magából 25Mhz-et és megy szépen PC2-re. Az AVR-nél egyszerűen nincs helyem sajnos külön kristályra. A szűrő kapacitások valóban jó kérdések. Sok doksit bújtam ebben a témában és páran okos módon azt feszegették, hogy mi lesz, ha párhuzamosan kötünk 2-3 kondit, hogy majd jól kiszűrünk vele mindent az égvilágon. Kis kondi nagy frekire és vica versa. Nos, hát valójában az lesz, hogy a két kondinak ugye van 1-1 frekije, ahol legkisebb az impanciája, és a kettő között lesz egy csúcs, ahol akár 100 ohmra is felmehet egy frekitartományra az impedancia a párhuzamos rezonancia miatt, ami jelentősen nagyobb, mintha csak a kis kondit használtuk volna magában. Emiatt sokszor az 1 db jobb, mint a 2 db. A checklist-ben is az van, hogy azok az értékek csak tipikus értékek, neked nem biztos, hogy jók lesznek. Igazából kellene egy szkóp meg egy ügyes kéz, hogy a 0603-akat kicserélgessük és kipróbálgassuk, hogy melyiknél mennyi a zaj.
A másik, amin sokat agyaltam, hogy X5R vagy NP0, mivel az X-esek mikrofóniások. NP0 nagyon jó lenne, de cseszett drága. Audiofileken kívül más nem is problémázott ezen, így maradtam X?Rnél. Ahova tudok, fordított geometriás, 0306-ot teszek, alacsony(abb) ESL miatt nagyobb frekin jobban viselkedik és az ára se vészes. Kár, hogy elég gyéren kvantált a Farnell kínálata ilyenekből.
En egy DC-DC konverter leirasaban azt olvastam, hogy a sorrend minosegben: NP0, X5R, X7R.
De ennyire azert nem kell tulmisztifikalni, annyira nagy zajt nem jelent, a kondikat pedig lehet olyan kozel rakni, hogy a ketto kozotti induktivitas szinte nulla legyen, a sajat belso induktivitasuk adta rezonancia frekvencia ezeknel a tipusoknal eleg magasan van (tobb MHz). Ketto parhuzamosan kotesevel a jelenseg amit mondtal ennel meg nagyobb frekvencian jon letre(kifele tolja a frekvenciat), igy plane nem fog gondot okozni. De ha tul akarod biztositani, akkor Phillips gyart 1206-os tokban 120pF maximalis kapacitasu kondit, aminek az elso rezonancia frekvenciaja 2GHz-en van. (mikrohullamu szeria)
Szia!
Kezdésnek jó Grat. Viszont kérdeznék is:bekapcsolás után amikor megnyomod a gombot, rövid ideig világít egy kék led is(a zöld mellett) Az miaz? Mit jelent? Nem sikerült rájönnöm. Üdv Kiborg
A zöld jelzi, hogy van áram, a kék pedig, hogy fut a programm, csak nem sikerült megoldani hogy folyton villogjon
Hogyan villogtatsz? Minket is LED bizergálással vezettek be a programozásukba. Ez a leglátványosabb módja, meg ez a legegyszerűbb periféria használat. Következő lehet a gombok szoftveres pergés mentesítése, illetve külső ellenállás nélküli használat .
A LED-ek villogtatását, saját függvényekkel oldottam meg. Először is a ki és be menetekhez a Fizikus által leírt ki_b(x,y), ki_c(x,y)... függvényeket használom Bővebben: Link
És emellett, az 5 LED-hez csináltam külön-külön vezérlő parancsokat
Így például az 5 LED villogása az így néz ki
Egyébként a nyomógombos efekt váltás nem a legtökéletesebb, Csak egy agyamból kipattant szikra miatt sikerült végülis megoldanom switch függvénybe "integrált" while függvénnyel, amely figyeli a gomb állapotát. A programról kb ennyi, de amint láthatjátok a videón, be van kötve egy POTméter is amellyel menet közben bármikor lehet változtatni, a villogási szüneteket. -Ám most nekem lenne egy kérdésem! Azt szeretném, ha a kék LED a program futása közben, a többi részt figyelmen kívül hagyva folyamatosan villogjon. Ezt hogyan lehet megoldani? Előre is köszi.
A második kódnál elrontottam a második részénél képzeljetek az 1-esk helyett 0-kat
Tessék adatlapot bújni . Egy kis segítség Timer0 kell hozzá, és ahhoz ez.
Köszi, bár tudom, csak még nem volt időm beleásni magam a megszakítások világába
Sziasztok!
WinAVR-ben hogyan tudom működésre bírni a külső (netről letöltött vagy saját) fejléc állományokat? Azon kívül, hogy include-olom mit kell mégy csinálni? Konkrétan ez lenn az:
Aztán ha valamelyik függvényét használnám akkor írja a hülyeségét, hogy: "undefined reference to `i2c_start_wait' " például. Legjobb tudomásom szerint az egész fejléc állományt be kell másolni a forrásfájl mappájába. Én mindent bemásoltam oda és mégsem működik. Vagy máshogy kellene? Köszi!
Amit én eddig így használtam, azt az avr mappába raktam és így használtam
ez eddig mindig működött
Tudtommal, ha a project mappájából akarsz include-olni, akkor idézőjelek közé kell tenni az include-olni kívánt fájl nevét.
Sziasztok! Ha LPT-s programozóval programoznám fel Ezt a kijelzőt akkor mi változna meg a programozás folyamatán??
Oda kell másolni ahol pl. az io.h csak egy mappával fentebb. Tudtommal lényegtelen hogy <> vagy "" csak egy jelzés hogy nem gyári hedör. Am teheted az io.h mellé és akkor így tudod meghívni:
sei()-t ne felejtsd el az inicializálás után, mert nem fog megszakítani, hiába van beállítva.
Hát ez az i2cmaster header még mindig nem működik.
Dedósnak tűnik de mégis leírom. Ide másoltam be a header file-t C:\WinAVR-20090313\avr\include\avr A rengeteg többi mellé. Próbáltam 3 féleképpen is:
Sehogy sem ismeri fel a benne lévő függvényeket, nem fordul le sem.
A header fajlokban a prototipusok vannak, a valos fuggvenyek egy kulon lib-ben vagy object fajlban vagy c-forrasban szerepelnek (persze ettol vannak kivetelek, de altalaban igy van). Tehat amig ezek valamelyiket nem linkeled hozza a kododhoz, addig a hiba fenn fog allni. (Amennyiben c forras all rendelkezesre, akkor azt is le kell forditani termeszetesen.)
Szia!
Az "i2cmaster.h" legyen hozzá adva a "header files"-hoz és a "twimaster.c" file pedeg a " source files"-hoz. Ez a két file kell, hogy működjön! Utána includolod :
A két file helyileg a project mappában vannak nálam. Lásd még képet!
Sziasztok!
Köszi az eddigi segítséget, már kezdem érzékelni, hogy mit kéne csinálni. A projekthez hozzá adni a .h fejlécállományt és a függvénydefiníciókat (jól mondom?) tartalmazó .c forrásfájlt. Így tudtam csak hozzáadni a forrásokat (notepad1. kép) de ez így nyilván nem jó. És jobb gombbal kattintva jöttek elő az alábbi lehetőségek (notepad2. kép) és ebből választottam az add files-t. A képen amit IMi linkelt ott szépen látszik is, hogy külön csoport a header és forrásfájlok, nálam meg ez nem látszik. Mit kellene tennem, hogy nekem is hasonlóan legyenek beillesztve a fájlok? (Mindkettőt bemásoltam a projekt mappájába) Reggie írtad, hogy ha a forrásfájl is rendelkezésre áll(mint most a twimaster.c) akkor azt is le kell fordítani. Ezt ugyanúgy AVRDude-dal tehetem meg? Ha igen akkor a makefile.t- hová tegyem ez esetben? Köszönöm!
Feltelepítettem a programot de nem indul el. Hibaüzenettel leáll.
Szia
Szükség van a .NET Framework 3.5 és a WinAVR feltelepítésére ! ( Bővebben: Link) Ha mind kettő fent van, akkor nem tudom...
Most AVR Studio-ban próbálom de ott sem működik. :gun: (Hibaüzenetet csatoltam) Egyébként a Peter Fleury-féle cucc ez amivel szívok bár gondolom tudjátok.
Sziasztok!
Többszöri sikertelen próbálkozás után flathead javaslatára úgy döntöttem, hogy kipróbálom a Codevision-t és beépített függvényeit az I2C kezelésére. Találtam is evvel kapcsolatos függvényeket de úgy tűnik, hogy ez szoftveresen valósítja meg a kommunikációt. A hardveres (TWI) interfész használtatára nincsenek ilyen függvények vagy csak én nem találkoztam eddig ezekkel? Köszi!
|
Bejelentkezés
Hirdetés |