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
Idézet: „
Ezzel csak az a baj, hogy ez INT0 falling edge-et állít be, teneked a
Aztán a kijelzés végén a maradékosztás felesleges, mivel addig már háromszor osztottad 10-el, ha 10000 alatt van az értéked, akkor már jó amit kaptál Idézet: „
Mellesleg frekimérésre van kitalálva az input capture nevű funkciója a timer1-nek, míg a kijelzést hasznosabb lenne timer0 overflow-ba tenni, semmint delay-jel lassítani a kódot. Ráadásul 40 ms-es frissítéssel eléggé villogni fog a kijelződ. Aztán nem ártana egy cli() a main elejére.
Próbaképp feltettem egy régebbi verziójú AVR studio-t, a 4.15-öt, de a helyzet változatlan.
![]()
Arra már megtaláltam a megoldást, hogy az "sbi" parancsra miért ír ki hibát, erre a "register summary" rész végén leltem rá.
![]() ![]() ![]()
Megint én voltam a balfék... Pedig bíztam benne, hogy a fordító a hibás...
![]() ![]() Idézet: „Oh, I have tried that one too! That's why I look like this... ![]() Hehe, en mindig abban szoktam bizni, hogy a fordito nem hibas ![]()
Igen, valószínűleg jobban kellene örülnöm, hogy nem a fordító hibás, mert azt aligha tudnám orvosolni, meg nem is tudom, azt hogyan deríthetném ki, ha mégis az lenne... Csak már nem tudtam tisztán gondolkodni, mert nem értem miért szívat ennyire ez az apró program, hogy hardveres hibára nem is gyanakodtam. Mivel beforrasztás után kimértem a panelt, és akkor nem volt zárlat sehol sem!
![]() ![]() ![]()
Most mar csak azt nem ertem hogy kerult bele az az idezet az elozo hozzaszolasomba?! Es meg csak eszre sem vettem... lehet tul sokat ittam es meg csak nem is emlekszem ra?
![]() Na mindegy. Szimulacio sokszor azert jo, mert abban kiesik a forrasztasi vagy egyeb szerelesi hiba lehetoseg, sot a kulso elektromagneses zavarok is. Lenyeg, hogy megoldodott ![]()
Hellotok mi lehet az oka annak hogy az AVR - ben levő AD átalakító csak egyszer végzi el a konverziót annak ellenére hogy free modeban vagyok? A következő konverziót csak RESET után hajlandó végrehajtani.
Szia.
Gondolom reset után engedélyezed az interruptokat (sei)... Miután egyszer lefutott az AD, megszakítást generál, ezzel törlődik az I bited, az SREG-ben. Ezt minden konverzió után vissza kell állítani, ha újra mérni akarsz.
Egy olyan egyszerű próbaprogramot szeretnék, ami annyit tud, hogy megnyomok egy gombot és bekapcsol egy led, de sajna nem akar működni.
Bascom-ban írtam, így néz ki: $regfile = "attiny45.dat" $crystal = 10000000 Config Portb.0 = Output Config Portb.1 = Input Portb.1 = 1 Do If Portb.1 = 0 Then Toggle Portb.0 Waitms 500 End If Loop End Ha valaki talál benne hibát az kérem szóljon, mert nem tudom miért nem akar működni.... Köszönöm!
Valaki tudja, hogy lehet azt megoldani Bascom-ban, hogy egy gombot hosszú ideig nyomva (pl. 3 mp-ig) kapcsoljon egy pl egy ledet.
Engem csak az erre való parancs érdekelne, a sima led kapcsolgatás az már megy.....
Köszönöm a választ. Természetesen nem várom el, hogy más írja meg helyettem a kódot, de annyira sajnos nem vágom még a dolgokat, hogy ezekből a félszavakból jelentősen tovább tudnék lépni. A megszakításokat és a timer-eket eddig még sosem használtam, mert nem volt rájuk szükségem.
Ha van lehetőséged kicsit jobban kifejteni a timer0 overflow-s display-s javaslatot, illetve az input capture használatáról valami példa progit, vagy (érthető)leírást a rendelkezésemre bocsájtani, azt megköszönném. A javaslataidat átírtam a kódban. Azt szeretném még, ha tudnád, hogy meglehetősen alacsony frekit is szeretnék mérni (időjárás mérő állomás szél sebesség mérője, autó üzemanyag átfolyásmérő, autó gyujtásfreki, ...) A jelenlegi, de még nem kész, hibás kód:
A mért adatokat nem feltétlenül kiíratni akarom majd, hanem pl. soroson átküldeni PC-re.
Megépítettem a fentiek közül egyet. Az volt csak a baj, hogy túl lassúra sikeredett, de működött vele. Még egy hibája az adapternek, hogy ringyózxp bután kezeli az lpt portokat. Lehet ott némi kavarodás.
![]() http://www-user.tu-chemnitz.de/~heha/bastelecke/Rund%20um%20den%20PC/USB2LPT/index.html.en
Sziasztok !
Most kezdem használni az AVR Studio 4-et, eddig kisebb programokat használtam. Egy már meglévő projektet szeretnék próba képpen változatlanul beleégeni egy mega8-as kontrollerbe, de nem sikerül. Az STK500-as programozót észleli az avr studio, de valamiért a 3 darab C fájlból és 2 darab H fájlból álló programot nem fordítja le. A fuse biteket tudom programozni, tehát az összeköttetésekkel nincsen gond. Bármilyen ötletre vevő vagyok : ) Köszi
Hello! mivel nem most kezdted, ezért gondolom ez nem nagy segítség, de azért elmondom. Az avr studio programozó részében az atmega8- at kell beállítani, ezenkívül a fordító részben is figyelni kell erre. Gondolom nem volt nagy segítség, de aki kezdő az lehet, hogy elfelejti ezeket, és jó ha minél több helyen olvassák...
Szia !
Igazából ezeket beállítottam az "Edit Current Configuration Options" alatt, meg mindent amit csak ott lehet... A hiba amit kiír, szerintem magával a lefordítással kapcsolatos, ír olyat is hogy nem találja a "projekt" . o fájlt....dehát az a fordítással keletkezik, eddig legalábbis így történt. Na mindegy... próbálkozok, olyan nincs hogy nincs megoldás ![]() Üdv.
Sziasztok,
Van egy tárgyam, amin mikrokontrollereket tanulunk kezelni, s van egy beadandó feladat amit év végéig, kell megcsinálni. PICkeket kicsit ismerem, de mivel elsősorban AVRekről tanulunk, főleg a 8bitesekről, ezért gondoltam hogy én is azzal csinálom meg a beadandót, hogy azzal is megismerkedjek. A baj csak az, hogy nem tudom melyik uC-t válasszam. Esetleg ha adnátok ötleteket. Az Avr honlapján találtam egy csomó leírást, de nem láttam szűrési lehetőséget. Amit midnenképpen tudnia kell. 8 bites családba tartozzon UART 16-24 IO port Esetleg ha van I2C támogatás nem baj, hogy ne nekem kelljen implementálni TIMER, WDT, Néhány byte EPROM (64 bőven elég) És sok program memória. 32k már elég,de minél több, annál jobb. Nem annyira RAM igényes a progi, de azért kell majd Lehetőleg JTAG ICE-al programozható legyen. AMit cisnálni fogok WORDCLOCK lcd ledes kijelzővel, hőmérővel, külső RTC chip, ébresztő funkció, csengő, DCF77 vevő, USB-UART átalakítón PC-vel való kommunikáció Várom a javaslatokat köszi a segítséget üdv
Atmega128 bőven elég lesz neked, vagy egy eggyel kisebb 64-es is elég lenne szerintem.
Hardveresen az ATmega16/32 is megfelel, kérdés, mekkora helyet fog elfoglalni a programod, mire ezeket lekezeled. Szerintem a 16kB-is beleférhet, de akkor legyen tutibb, válaszd a 32-est. Ha meg "worstcase", akkor ahogy gr89 írta, mega64, vagy mega128...
![]()
Helyedben vennék egy ilyen lapot, és erre rádughatóan lehet csinálni akár lyukacsos panelen is amit akarsz. De vannak egész olcsón már ethernetes panelok is, azzal is lehet vicces dolgokat csinálni, böngészőből kapcsolgatni dolgokat, vagy nézni a mért adatokat.
Hali!
Jobb híján ide teszem fel,mert nem találtam direkt ilyen topicot és hát azért AVR-el lesz megvalósítva. Szóval viszonylag zajos környezetben (vezérlődoboz,tápegységek,relék (bár viszonylag távol)) szeretnék 5 port expander IC vezérelni egy Mega16-al. Lehetőség van I2C és SPI-t is választani. Melyik lenne a jobb. Nem a sebesség lenne a lényeg. A köztük lévő távolság max 1m. Vélemények ? Üdv Kiborg
Szia!
Én I2C-t használtam már 10m-es UTP kábelen, működött is lassú kommunikációval, viszont könnyen be lehetett zavarni. Zivatar idején mindig kiakadt... Most 3m-es szakaszon megy, nem a leglassabb órajellel, egyelőre hibátlanul fut. Az SPI-ról nem tudok nyilatkozni, azzal még nincsenek "hosszútávú" tapasztalataim. ![]()
Aha, köszi.
Akkor ez egy pont au I2C mellett ![]() Másik kérdés a topológia: bővítő-bővítő-bővítő-vezérlő-bővítő-bővítő lenne az optimális elrendezés az eredeti kábelezés miatt, viszont így a vezérlőtől 2 felé ágazik el a i2c busz. Árt ez ? vagy inkább oldjam meg hogy ne kelljen vele elágazni. ( a két szélső bővítő között lenne max 1m és ennek a közepén csücsülne a vezérlő) Üdv Kiborg
Szerintem ez teljesen lényegtelen, csak egy buszon legyen, illetve az I2C busz követelményeit ne lépjük túl, mint például a 400pF-os busz- kapacitás... Illetve elvileg van valami korlátozás a busz hosszára is, de ebben nem vagyok biztos. Ha lenne kapacitásmérőm, akkor megmértem volna, hogy a 10m-es vezetéknek a slave eszközökkel meghaladt-e a kapacitása a 400pF-ot és ezért volt bizonytalan a kommunikáció, vagy a nem megfelelő zavarvédettség miatt.
RS-485-ot kell hasznalni nagyobb tavok athidalasanal...
Sziasztok !
Kicsivel korábbi hozzászólásomat szeretném tovább bonyolítani. Van egy Topi féle programozóm, hestore.hu-ról. Mostmár működik az AVR Studio-ban, de Programmers Notepad alatt is szeretném használni, ha jól tudom ilyenkor fel kell tenni az USB-HID tüskét. Beállítottam a programozót és a portot a makefile-ban de nem akar működni..... Aki használ ilyet az hogy állította be a makefile-t ?
Hasznalj megfelelo lezarast, es akkor biztos nem lesz problema. A reflexio neha jol meg tudja viccelni az embert. (no meg az eszkozt is)
Nekem is olyan programozóm van, és én úgy csinálom, hogy nem teszem rá az USB-HID-et, hanem marad virtuális soros portként, és a Makefile-ban STK500-nak állítom be, a port meg az amit használ(eszközkezelőben lehet megnézni). Még nem próbáltam soha USB-HID módban használni. Remélem segítettem.
Sziasztok!
Segítséget szeretnék kérni. Van egy 89c2051 -es mikrovezérlőm hozzávaló hex is be van égetve (willem-el), de sehogy nem akar működni. Szkóppal lehet láni hogy megy a qvartc, 5V rajta van de a kimenetei nem reagálnak. Kérdésem annyi lenne, hogy van-e valakinek olyan működő hex file-ja ehhez a kontrollerhez ami a kimeneteit váltja alacsony és magas szitnre(p1.0-p1.7). Amiket találtam hexeket azok sem akarnak menni. Sajnos az atmel-lel hadi lábon állok. Előre is köszönöm a segíségeteket.
Vagy STK500v2-at mert nekem csak azzal ment.
|
Bejelentkezés
Hirdetés |