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
Szia!
Érdekes, nem tudom az a második || minek van ott... töröld ki.
Milyen AVRed van? A hozzászólás módosítva: Ápr 21, 2013
Sziasztok!
Mostanában vettem egy STK500 boardot, minden jumpert a kezelési utasítás szerint dugtam rá, de mégis ennél az egyszerű programnál minden led kigyullad: int main(void){ DDRB=0xff; -> B port összes bite kimenet PORTB=0x00; - B port összes bite lowba van. while(1) {} } A ledek persze a B portra vannak kötve. Én rontottam el valamit vagy valamit félre dugtam? Kérem segítsetek.
Szia!
Ez nekem azt jelenti hogy a ledek a board-on fel vannak húzva, és amennyiben a port lábat nullába rakod zárod az áramkört és így égnek a ledek. Ha a port lábat "H" szintre húzod akkor nem égnek.
OK, köszönöm.
Egyébként a PC oldalon tudom-e valahogy integrálni a dolgot egy saját progiba? Nekünk az kell hogy egy távirányítóban használt ATMega48 kimenő periódusidejét kell mérni. Ha jelentősen eltér a 43ms-től akkor kiszámolja hogy melyik HEX fájl fog kelleni az AVR-hez, beprogramozza és újra megméri a periódusidőt. PC oldalon ezzel még lesz munka, érzem. Csak az a kérdés hogy az RS-232 kommunikáció, a protokoll amit használsz az mennyire kezelhető. Egyébként egy fél műszak alatt leprogramoztam hogy lekérdezi az OSCCAL értéket az IC-től, az alapján egy táblázatból kiválasztja a HEX fájlt és beprogramozza. Az ellenőrzéshez mégis kell az oszcilloszkóp, és az esetek 30-40%-ában korrigálni kell. Az analizátorral felszabadulna az oszcilloszkóp, és teljesen automata lehet az égetés. Már ott tartok hogy az RS-232 CTS jelét használom a progiból, de az egy kicsit problémás(még). 1000 darabos tétel mellett ez nem kevés időmegtakarítást jelent... A hozzászólás módosítva: Ápr 22, 2013
Sziasztok!
Most kezdem AVR-ekkel foglalkozni, így igen csak kezdő vagyok ebben a témában. Segítséget, illetve tanácsot szeretnék kérni. Az a problémám, hogy vettem egy USBASP V2.0-at és nem hajlandó minden AVR-t felismerni. Értem ezalatt, hogy a /-8PU/ felismeri, de a /-16PU/at nem ez mitől lehet? Esetleg valami beállítási hiba? STK200-al mennek a 16-osok is, illetve felismeri, szóval az AVR-ek jók. Előrre is köszönöm válaszaitokat.
Az USBASP sajnos nem az aminek mondják.
P*fátlanul egyszerű és olcsó, de ez meglátszik a használhatóságon is. Ha nem akarsz beruházni másik programozóba(3500-ért már használható+gyors STK500-at kapsz), akkor építs egy Dopert, az még mindig jobb és fillérekből megvan. Ha van MAX232-d és nem félsz használni, akkor a tuxgraphics-os STK500 a Te embered.
Zombee, az Arduino bootloader-ét érdemes használni.
Ez úgy megy, hogy RS-232-n csatlakozol a PC-hez és a programomból kihámozhatod, hogy hogyan kell kapcsolódni a bootloaderhez. A terepasztalomat 5m-es RS-232-es kábel fogja összekötni a PC-vel, ezen fogom tudni majd felprogramozni. Kicsit módosítottam a bootloader-t, hogy ne külső RESET-re induljon, hanem WATCHDOG resetre. A terepasztalon a "firmware update" ezután úgy fog menni, hogy beküldök egy csomagot, az Watchdog resetet indít el, utána már programozhatom a bootloaderen át. Nem biztos, hogy neked pont az én programom kellene, lehet, hogy szimplán az optiboot bootloaderrel jobban járnál.
Köszönöm.
Már látom, a Te cuccod arra való hogy valaki kész eszközt és szoftvert vehessen a kezébe. Nekem pedig egyszerűbb lesz megírni egy programot AVR-re, főképp azért mert csak egy csatornát használok, az RS-232 porton pedig elegendő a HI és LO állapotban töltött időt elküldeni, amit egy egyszerű PC program nagyszerűen tud majd kezelni. Sőt, talán még az STK500-asomba is be lehet programozni ezt a módot, mivel a mérendő jelet az ATMega48 az SCK lábon adja ki... A hozzászólás módosítva: Ápr 24, 2013
Sziasztok, megépítettem a csatolt programozó hardvert hogy ATTINY2313-t programozzak bascom avr alatt. Az elsõ programot sikeresen megírtam, nem talált hibát a program és a szimulátorban is jól futott. Beletölteni a chipbe viszont nem sikerült. Próbáltam beállítani a chipet de nem találtam ATTINY2313-t csak ATTINY22, ATTINY12 és ATTINY15. Na meg gondolom a hardver fajtája se mindegy, próbáltam stk500 és stk200/stk300-at is. Több ötletem nincs viszont ami jó jel lehet hogy magától beáll bizonyos 90S2313-ra. Az lenne az?
Üdv!
Egy ideje nem használtam a he store kit-es avr programozom, szeretném használni, de valami hiba van. A fuse biteknél hiányzik egy pipa, kifotoztam a hiba üzenetet. Mit nem veszek észre?? Mi a gond? Köszi előre is! A hozzászólás módosítva: Ápr 24, 2013
Használd a PonyProg letöltő programot. Bővebben: Link
Tegnap este nem sikerült csatolni a képet, a hibaüzenetről, remélem most menni fog.
Most sem sikerül csatolnom a fájlt hogy lehet ez??? Elég fontos lenne az AVR-ek felprogramozása, de így nem látjátok mi a probléma.....
Van egy olyan érzésem hogy ez jó lesz, köszi szépen! Otthon kipróbálom
Rájöttem közben, hogy bmp tipusú képeket nem sikerült feltöltenem, így most átkonvertáltam jpg-re így oks! Ez a hiba programozás közben, a signature bytokat sem tudom kiolvasni!
Mi lehet a baj? Köszi előre is! A hozzászólás módosítva: Ápr 25, 2013
A régi számítógépemet lecseréltem egy újra és most az a probléma adódott,hogy a winAvr nem ismeri fel a programozót. A számítógép tökéletesen felismeri, a drivereket feltelepítettem, a giveio.instalt lefuttattam, a libus-drivert is feltelepítettem. Amikor rákattintok, hogy make program, kiirja hogy can't open device. HID módban is kipróbáltam, ugy sem sikerült. Lehet, hogy a libus win32 nem támogat valamit? A gépen windows 7 van eddig xp volt, valamint mos 64 bites a processzor, eddig 32 volt
A hozzászólás módosítva: Ápr 25, 2013
Szia!
Eddig 3 esetben kaptam ilyen üzit: -1 : Nem a jó IC típust választottam ki véletlenül ( kizárható gondolom ) -2 : ISP frekit lejjebb kellett venni ( Proci órajelének minimum 4ed része legyen az ISP freki , ha kisebb se baj) -3 : Kábel szál szakadás valahol...
Köszönöm, megvizsgálom a kábelek, lehetséges hogy az usb kábelben van szakadás? Különben annyi változás történt az usb terén ,hogy egy pci-os usb kártyát használok, mert a mostani alaplapomnak tönkrement az usb része. Kábel: ezt a kábelt használom nyomtatóhoz is, ott eddig nem volt gond....
Még annyi hogy a fuse biteknél ez a helyzet... a kábelszakadás okozhatja ezt ? Köszi előre is! A hozzászólás módosítva: Ápr 25, 2013
Na letöltöttem, fut is jól de sajnos ezzel sem tudom beletölteni Már multiméterrel átnéztem többször is a programozót, a rajz szerint jónak kellene lennie. Működhet egyáltalán a rajz amit megépítettem? Te milyet használsz? Tudok építeni másikat, vannak itthon busz ic-k meg minden ami kell. Ami feltűnt az hogy az avr tápfesze mindössze 2.1 volt, és amikor a ponyprog megpróbálja írni bele írni a programot akkor még jobban leesik, pedig szerintem még amúgy is kevés. Pedig tegnap amikor a bascommal próbáltam akkor 4.2 voltot kapott, ezt az esést betudtam a 3 db 220 ohmos ellenállásnak. Ha mondjuk egy telefontöltőről vagy az usb portról táplálnám meg az gond lenne?
Szia!
Usb kábel hibája nem hiszem mert ha nem kapna tápot azon keresztül a programozó akkor a gép se ismerné fel. Ha a kábel adatszálai sérültek volna akkor a nyomtató se menne, és ezt a programozó felületet se tudnád az AVR Studióból elővarázsolni szerintem. Én a cél áramkör és a programozó közti kábelra gondoltam. Amit beraktál képet, azon az látszik hogy nem tudta kiolvasni a FUSE Biteket a cél IC-ből ezért igazából ott randomszerűen akármi állhat... A képből ítélve STK500-at használsz, ez a gyári Board? Mert pl megtörténhet olyan hogy régen mikor használtad akkor írtál rá egy olyan progit ami külső kvarcról működött, és most pl nincs a Boardon kvarc?!? Vagy épp nem érintkezik... A lényeg hogy az "ISP Mode ERROR" hibaablakot akkor kapod ha nincs kapcsolat a programozó és a cél IC között. Zoli
Sziaszok!
Had kérdezzem meg, hogy szoktátok azt megoldani, hogy ha levesszük a tápot az AVR-ről, akkor néhány adatot mentsen eepromba? Most egy reset áramkör adna megszakítást, hogy 4,3 volt alá csökkent a táp, de nem mindig menti el az összes adatot. Üdv!
Az EEPROM-ba írás eszméletlen lassú.
Próbálj meg 1000 byte-ot kiírni, észre fogod venni. Nem mindegy, hogy mennyi idő alatt esik 4,3V-ról nullára a feszültség.
Ahogy előttem már megválaszolták, az EEPROM írás elég lassú, ezért előbb fog kikapcsolni.
Ha nagyon leesik a feszültség a proci még lehet hogy ketyeg, de az EEPROM írás már nem megy! Én a helyedben egyrészt nagyobb pufferkondit használnék, és valahogy meg kell oldani hogy a kikapcsolás azonnal érzékelhető legyen. Például egy diódával a pufferkondi elé... A hozzászólás módosítva: Ápr 26, 2013
Sziasztok egy olyan kérdésem lenne, hogy a megszakításokban lehet globális változók értékét befolyásolni vagy nem (nekem nem ment )??
ezzel próbáltam:
Lécci segítsetek A hozzászólás módosítva: Ápr 26, 2013
A topic tetején a sárga boxban első pont:
1. Ha ISR-ben használsz globális változót, az legyen "volatile" Próbát megér.
Sziasztok! Lenne egy kérdésem.
Ez így most külső 8Mhz-re van beállítva? A hozzászólás módosítva: Ápr 27, 2013
Sziasztok!
Egy ATmega8 MCU-val szeretném a következőt elkövetni, ehhez kérnék útmutatást: az egyik megszakítás lábat felhasználva szeretném a mikrovezérlő lábára tett LEDet kapcsolgatni. Célom, hogy amíg ott az 1-es a megszakítás lábon, addig legyen ott az 1-es a LED felé eső lábon is, de amint 0 lesz a megszakításon a LED is aludjon ki. Ha jól gondolom ehhez nem elég simán a megszakításkor lefutó függvénybe beírni, amit szeretnék, mert a kikapcsolásról akkor még nem gondoskodtam, másrészt nem tudom, hogy a megszakítás hogyan fut le. Ha jól tudom, akkor ez szabályozható: felfutó élen, lefutó élen vagy amíg tartom a megszakításon az 1-et. Erre ha lenne valakinek egy mintaprogramja, tutorialja és megosztaná velem azt megköszönném. A feladatnak látszólag semmi értelme, hiszen elég lenne ehhez egy nyomógomb, de a probléma egyszerűsítve lett a könnyebb értelmezhetőség miatt. Köszönöm!
Köszönöm az eddigi segítséget, de sajnos még mindig nem jó.
Skoppal végig mértem a programozó kimeneteit, mindegyik ponton van jel, a miso lábon is van vissza irányú jel a programozó számára. Nem tudom mit tegyek, lehet hogy valamitől mégis a programozandó avr-ek, mind a három darab vált alkalmatlanná ISP vel való programozásra? Talán valami zavar kikapcsolta a SPIEN-t ?(mert én nem voltam!!!) Ha a spien kikapcsoljuk akkor is ilyen üzenet jelenik meg? (bár szerintem az avr studio csak ezt a hiba üzenetet küldi mindig.... ezt azért gondolom mert ha a programozandó avr-t lehúzom, tehát csak a programozó lóg az USB-n akkor is ezt dobja ki) Köszi előre is!! |
Bejelentkezés
Hirdetés |