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
OK. Köszönöm szépen a választ!
Már gondolkoztam is nagyobb uC beszerzésében, nehogy akkor rendeljem meg amikor már kellene. Az említett típusokon felül a legnagyobbal is szemezgetek az ATMega1284-essel, persze csakis a DIP-esek közül.
Nekem is elindult az I2C újabb 7 óra ütemes szívás után.
Három interruptom volt: TIMER0 + ADC + TWI. A CPU idő 99.9%-át az első két interrupt lefedte, a TWI-re nem maradt semmi, lehúzta a SCL vonalat és várt. Azt hittem IC hiba először, mert az SCL folyamatosan nullában volt (a slave így jelzi, ha időt kér a kérés feldolgozására). Felnyomtam az órajelet 8MHz-re, ez pedig megoldást jelentett. A másik probléma az ATMEL példaprogramjával volt, ergo tök hülyeség volt az egész, 3 kérés után leállt a teljes kommunikáció. Úgy írták meg, hogy az interrupt a kérést bemásolja egy pufferbe, amit a fő szál feldolgoz és feltölti a kimeneti puffert. Teljes káoszhoz vezetett az egész. Amíg a kérést nem dolgozza fel a program teljesen, addig a TWINT-et tilos 1-be rakni. A hardver a TWINT beállításáig alacsonyan tartja az SCL-t és mindenki vár. A példaprogram sikeresen beállította a TWINT-et és reménykedett, hogy a fő szál még azelőtt megkapja az adatokat, hogy a Master az olvasást megkezdené. Hát nem jött be, időnként a régi kérés adatait küldte vissza. A hozzászólás módosítva: Jan 20, 2013
Feltelepítettem az AVR studio 4 es változatát, de így sem igazán akar működni. Esetleg leírná valamelyikőtök mit is kéne tennem?
Köszi
Hol keresed a programozót? Milyen win-ed van fent?
Xp-m van, nem tudom hogy hol keressem, miképp lenne célszerű?
Tools --> Program AVR --> Connect
Innen STK500-at választod ki, majd a COM portot ami alá települt. Ha nem ez az ablak jön vissza akkor látja már a programozót.
Ez meg ugy istenes. En 2 nem dokumentalt hardverhibat is talaltam az egyik 32 bites szeria TWI-jeben.
A hozzászólás módosítva: Jan 21, 2013
Sziasztok!
Szerettem volna készíteni AVR programozásos kísérleteim során egy olyan programot, hogy egy ATtiny 45-ös ic szoftveresen generált PWM-el változtatja egy LED fényerejét félmásodpercenként. Valaki eltudná mondani, hogy mi lehet a hiba?
Amikor elindítom a programot ez az ablak jön be, a képen látható.
Ez után mit csináljak? Köszi
Rendben, és utánna? )
File/open/ ...hex akkor egyből megint bejön ez az ablak...
Ne haragudj, de most szivatsz minket? Nem fogja senki a kis kezecskédet! Tessék rákeresni!
Ez egy AVR kezdőknek topik.... szerintem itt nem gáz ezt megkérdezni, mert ahogy olvastam nem pont kezdő témákról van itt szó. Gondolom akik sokat használtátok nem lenne megerőltető .... elmondani....
Azért kösz a segítséget...
A program main reszebe, a while(1) ciklusba be kell tenni a szamlalo() fuggvenyt, mert kulonben nem valtozik a timer valtozo erteke.
A Te megoldasod nem a legelegansabb. Szoftveres PWM-et Timer-rel szoktak letrehozni, a timer tulcsordulaskor letrejovo megszakitas hasznalataval beallitva az PWM jel pontos idoziteset. Valahogy ehhez hasonloan: Szervovezerles szoftveres PWM-el A hozzászólás módosítva: Jan 22, 2013
Csak már előtted legalább 20-szor megkérdezték. A másik, hogy ott van előtted, próbálkozni kell.
Köszönjük sikolymester, nagy voltál!
Nem akarok fejtágítást tartani, de akkor röviden:
A fórum azért van, hogy a felmerült kérdések, amik megválaszolásra kerültek, azok megmaradjanak, mint kordokumentumok. Máskülönben lehetne csak privátban intézni a kérdezz-feleleket. Tehát végeredményben: nem teszünk fel olyan kérdést, amire valahol valami fórumon már megszületett a válasz. Ha nem tudsz angolul, akkor itt van egy kis keresés segédlet: Írd be ezt a google -ba: hex avrstudio site:http://www.hobbielektronika.hu Ezzel a jelen oldalon keresi a hex és avrstudio szavakat. És mit ad isten, az első találat egy videót is tartalmaz. Jelen fórum lakói csak szabadidejükben válaszolnak a kérdésekre. Egy kis talpraesettséget elvárunk ezért a kérdezőktől.
Igen igaz teljes mértékben.
Az említett videó sokat segített, nem gondoltam hogy ennyi mindenre figyelni kell, ha annyit mondtatok volna hogy ezt annál hosszabb téma, mint hogy egy kommentben érthetően le lehessen írni, felfogtam volna No de nem baj... Az legelső lépéseken túl vagyok. Viszont egy újabb kérdés, ha nem baj... Próbáltam minden úgy beállítani mint ahogy Topi videójában is látható, mit nem csináltam jól szerintetek? Képen a hiba üzenet
Signature-t helyesen kiolvassa?
Úgy gondolom igen, ha azt kiolvassa akkor a programozó látja az avr-t? Jól gondolom?
Ha a signature kiolvasása helyes, akkor mennie kellene a többinek is.
Táp helyesen be lett kötve?
Hülye kérdés.
Akaork pár dolgot akasztani egy Arduinora. Pl. DS1307, Max7219, NRF24L01. Ezek közül többről csak olyan rajzot láttam, amin az SCK be van kötve... (Pl. a 7219 és az NRF igényli.) Kérdés : - mindenképpen kell-e ezeknek az SCK - ha igen, akkor hogyan lehet megoldani, hogy kettő IC tudja használni? Bárki segít, köszi (Feltettem a kérdést az Arduino topicban is, de ott nincs nagy élet...)
A hardveres I2C mindenképpen az SCK és SDA lábakon folyik (GND-k összekötve).
Szoftverből is lehet I2C-t csinálni, akkor tetszőleges két lábat kiválasztva tudsz kommunikálni a másik csippel, csak kell programozni rendesen, vagy találni megoldást, aki már megcsinálta. Én javaslom a hardveres változatot. Mármint ha az SCK-n jelenleg mondjuk egy LED van, akkor azt tedd át másik lábra. Egyszerűbb, megbízhatóbb, mint szoftverrel szórakozni. Egyébként minek kell neked 56 byte-os NV SRAM? Egy ATmega328P-nek legalább 1k van alapból (EEPROM)? A hozzászólás módosítva: Jan 23, 2013
Az SPI -nél a chip select segítségével lehet több eszközt is bekötni. Minden IC-re külön CS vonal kell. Az I2C -nél pedig 7biten lehet címezni az eszközöket. Tehát mindkettő alkalmas arra, hogy egy master több slave legyen.
SCK csak SPI-nél kell. A hozzászólás módosítva: Jan 23, 2013
Sziasztok.
Kérdésem lenne AVR hez mit ajánlotok mivel tudnám jol mérni a fényeröt? mármint hogy Bizonyos Fénynél kapcsoljon be az eszközöm automatán? L-53 P3C jo erre? vagy A995011 ez kellene? AVR hogyan tudná értelmezni a kapot jelet? mármint feldolgozni egy kijelzön pl: 10% os a fény viszony (csak példa) előre is köszönöm
I2C-nél csak SCL és SDA van, SPI-nél pedig MOSI, MISO, SCK, /CS.
Utóbbinál a /CS az választható hogy melyiken legyen, de mindig a master(itt arduino) adja. Ha AVR-t programozol és nem arduino-t, akkor master esetében a /SS nevű lábat KIMENET-ként kell beállítani, még akkor is ha nem ezt használjuk /CS-re hanem valami mást.
Alkatrészt akasztani pedig úgy tudsz a legegyszerűbben hogy meghajlítod az egyik lábát kampósra,
majd az arduino valamelyik tüskéjére ráhúzod. Ahogy a karácsonyfát díszítitek otthon.
Erre a legegyszerűbb egy mezei LED. Nem árt ha
- víztiszta - piros - nagy szórásszögű(tehát nem 25°-os) Ezt közvetlenül is rákötheted az ADC-re, de úgy, hogy az anód(hosszabb láb) menjen a földpontra. Ugyanis generátorüzemben a LED fordított polaritású feszültséget ad ki. |
Bejelentkezés
Hirdetés |