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
Apropó, ha már AVR Studio 5, akkor inkább használd az Atmel Studio 6- ot.
Az 5-ös főverzió már nem kap támogatást. A 6-os verziót fejlesztik tovább. Gondolok itt bug javításokra elsősorban. A 6-os verzió jelenleg a Service Pack 2-nél tart.
Hali!
Ha már AVRStudio, akkor 4.14-ról megéri váltani, ha ASM-ben programozom és jelenleg csak Mega családdal dolgozom? Nyújt számomra valamivel többet a 6-os? Próbáltam régebben a 4-es sorozat többi részét is, de nem jöttek be, volt velük nyűg a regiszterek átnevezésével és felülírásával. JTAG-on keresztül fejlesztek/programozok. Üdv Kiborg
Nincsen assemblys tapasztalatom az AVR platformon.
Még annyi az előző hozzászólásomhoz, hogy ha valaki Studio 6-ot használ Jtag 1-gyel, akkor avrdude-t fel lehet hívni onnan. Külső eszközként kell beállítani. Itt van egy félig érthető leírás: Bővebben: Link
Sehogy sem ismeri fel semmi a mikrovezérlőt. Úgy néz ki Istvanpistinek igaza van és rosszul kötöttem be.
Mielőtt újracsinálom kérlek nézzétek meg a többi cuccot, mint például a MAX232 jól kötöttem-e be! Azokat is interneten talált példák alapján csináltam de inkább biztosra szeretnék menni és olyanok véleményét kérném akik tapasztaltak ezen a téren, mert csináltak hasonlókat.
Én azt mondom, ha CSAK assemblerben programozol akkor felesleges bármilyen váltás,
de ha lenne felesleges 15 perced akkor esetleg egy 4.18+SP3 megjátszható. Én még C miatt sem tartom érdemesnek 5-ösre vagy 6-osra váltani, felesleges.
@zombee: Kivéve akkor ugye, ha C-ben nem az alap IO ki-be kapcsolgatást kezeled, hanem már komolyabb struktúrákat és komplexebb típusokat pointerek társaságában használod. Akkor bizony a code-complete és a változó típus kibontás egy-egy nagyobb program írásakor órákat spórol meg.
@Kiborg: Ez pedig csak 5-6-ban van benne. (De még így is hagyd ki az 5-öt, mert nem igazából sikerült nekik a nagy kapkodásban) A hozzászólás módosítva: Dec 8, 2012
Sziasztok!
Atmega 48pa-pu szeretnék programozni,de nem sikerül sehogy nem engedi a programozom még a fuse-biteket sem olvassa ki a szoftver neve amivel próbálkozom: WinAVR-20070525 az égető pedig USBasp programmer és ezt a hibát írja ki: avrdude.exe: WARNING: -E option not supported by this programmer type avrdude.exe: AVR device initialized and ready to accept instructions avrdude.exe: Device signature = 0x1e920a avrdude.exe: Expected signature for ATMEGA48 is 1E 92 05 Double check chip, or use -F to override this check. avrdude.exe done. Thank you. Ebben kérném a segítségeteket.
Köszi a megerősítést
Közben változott a dolog, mert a sörös kommunikáció csak az Arduino Pro/Mini 5V/16MHz/328P beállítással működött... (iután rájöttem, hogy az ideiglenes, telefonkábelből készített PL2303 USB kábloszom földje (a kanóc gyári részében) szakadt :S ) Bootloader írás után továbbra is csak 1 sketch megy fel USB-ről... kiolvastam a fusebiteket, egyeznek azzal, amit megadtál, és a lock is 0x0f (az Avrdude 0000 0f ad rá). Mit lehet még csinálni ezzel...? A hozzászólás módosítva: Dec 8, 2012
Első körben tedd fel a legújabb wianvr csomagot.
Köszönöm szépen közben sikerült megoldani.
Sziasztok!
Megépítettem a Topi-féle AVR Dopert (a kites verziót), mellyel AVRStudio-ban egy ATtiny2313-at szeretnék programozni. Működött is a dolog, de aztán a fuse bitek piszkálásával persze kizártam magam... Olvastam, hogy ilyenkor megoldás lehet a külső órajel, viszont hirtelen nem tudtam honnan szedjek. A Doper kapcsolásán viszont megláttam, hogy az ISP csati 3. lábára bizonyos CLK van kötve. Úgy gondolom, ez az az órajel lehet, aminek a frekvenciáját szoftveresen tudom változtatni AVRStudioból. Kérdésem az lenne, ha ezzel megkínálom az ATtiny-t, van esély az életre keltésére, vagy inkább építsem meg a segéd órajel generátort? Köszönöm a válaszokat!
Szia! Az avr doperrel önmagában, nem tudod helyrehozni. Ilyenkor bizony kell a segéd órajel generátor. Személy szerint tudom ajánlani az Atmega HVPP fusebit doctor-t. Engem már sokszor kisegített a kezdő lépéseknél
Szia!
Köszi a gyors választ és a tippet is! Én is gondolkodtam rajta, hogy összerakom őt, de találtam itt a fórumban egy cikket külső generátorról, egész pontosan róla: Bővebben: Link Bevallom őszintén, egyszerűsége miatt csábítóbb, de ha azt mondod, nem megfelelő, akkor bizony nincs más választás Köszönöm mégegyszer!
Szívesen. A segéd órajel valóban egyszerűbb választás
Hello!
Én még tudom ajánlani a Doper-ed firmware frissítését, mert amivel árulják az bugos lehet. Valaki javítson ki ha tévednék. Ezt úgy tudod ellenőrizni, hogy beállított CKDIV8 nevű FUSE bit mellett nem mindig olvas vissza rendesen. Ezt én CKDIV8 halál bug-nak hívom, mert ha rosszul olvassa be a FUSE biteket és úgy írod vissza. akkor nyomban ki is zárod magad az IC-ből és nem tudod programozni vele... Az obdev.at honlapján van a frissítés. Ne ijedj meg ha 2008-as a legújabb!
Na, összeraktam a segéd órajel generátort. Fogalmam sincs, mit ronthattam el, de nem hajlandó kiadni magából semmit, csak 1,8V körüli egyenfeszt... Kezdek kételkedni magamban, hogy még ezt se bírom működésre bírni
Köszönöm a tanácsot zombee-nak is, de sajnos ezt nem tudom ellenőrizni, mert a fuse biteket sem tudom kiolvasni, így nem tudom megállapítani, mikor hogyan olvassa A biztonság kedvéért vettem még 2 ATtiny-t, de azért jó lenne ezt is visszahozni ha lehetséges... Köszönöm a segítségetek!
Sziasztok!
Használ itt valaki T-bird 2 panelt és a hozzátartozó kieg.panelt?
Milyen keypad-ot akarsz rákötni, hová kötötted és hogyan? (rajzold le pontosan, vagy linkeld be a rajzot, ha van róla pdf valahol!)
Jó reggelt!
Sajnos rajzot nem tudok küldeni. Hestore pdf, T-bird 2 Hestore pdf, Kieg-panel. Azt írja az útmutató, hogy a sorokat helyezzem aktív szintre, de mindig csak egy időben egyet. Majd az oszlopokról lelehet olvasni az értéket. Ha flow-ban, azokat a portokat és biteket 1es szintre emelem, nem működik. Kipróbáltam fordítva, 0-ára rakni őket, akkor sem működik. Úgy csináltam, hogy bekapcsoltam első sort, vártam, 1ms-t kikapcsoltam. Majd 2-es sor be, 1ms várás, kikapcs. Így végig a 4-ik sorig. Ezek voltak a kimenetek, flowban. Bemenetnek az oszlopokhoz tartozó, port és bit. Getkeypad makrót elő, és a bemeneteken lévő változóra hivatkoztam visszatérési értéknek. Ha a visszatérési érték azaz a változó, kissebb mint 255 akkor írja ki a változó értékét. Ez a programban megy is. Viszont a Bird-ön nem jó.
Elméletben jól írják le a folyamatot, de ha az áramkör nem jól működik együtt a programmal, akkor nem fog működni! Az nem értelmezhető, hogy aktív szint, miután ez lehet alacsony és magas is a számítás technikában!
A kieg panelen félre értelmezhető az input és az output fogalma a kiosztásnál. Mert a billentyűzeten pont a sorok a bemenetek és az AVR kimeneteire kell kötni őket. Tehát azok bemenetek az én értelmezésemben. A leírásban viszont már azt írja, hogy a sorokra kell adni a jeleket(Kimenettel szembe aktív jelet adni, ugye nem túl egészséges, ha szó szerint venném az adatlapban foglaltakat!) Ha ezen túltesszük magunkat, akkor ott van egy kérdés, hogy az oszlopok vonalain vannak-e ellenállások, és azok hová húzák a vonalakat. Ugyanis, ha nincs ellenállás, akkor az AVR bemenetei lebegni fognak, ami működésképtelenné teszi a kapcsolást. Ha van ellenállás, akkor nem mindegy hová húzzák a lábat, mert ha felhúzó van, akkor az aktív szint a 0, de ha lehúzzák, akkor az 1. Ezeket próbáld kideríteni az áramkörön, utána lehet továbblépni!
Watt!
Megvan a pdf.. Hogyan tovább? Hol folytassuk, melyik topikban?
Ezzel a kóddal az első sort le tudod olvasni. Továbbiakban annyit kell változtatni, hogy a PORTC-re adott értéket mindig tovább növeled a következő sor értékére.
márha C-ben programozod A hozzászólás módosítva: Dec 14, 2012
Ezektől a _delay_ ektől herótom van! Mert ingyen van az erőforrás, ráérünk...
Egyébént Flowcode-ban programoz és sikerült is neki közben! Ha érdekel hogyan, nézz át a Folyamatábrás topicba.
Nekünk azt tanították, hogy a jel terjedésének időt kell hagyni.
Akkor viszont jön egy kérdés, hogy lehetne ezt a _delay_-t kiküszöbölni?
Ütemezéssel. Készítesz egy Timer megszakítást, mondjuk 30Hz-el, és minden megszakításban egy oszlopot leviszgálsz(a megszakítás lehet gyorsab is, ha teszel bele egy másodlagos számlálót, ami a gombkezelés ütemét szabályozza). A következő sorra a vizsgálat végén adod ki a jelet, amit a következő megszakításban vizsgálsz és így tovább. A prellmentesítést is meg lehet oldani, ha több megszakításnyi ideig viszgálod, hogy a gomb még mindig nyomva van-e. Ha igen, akkor lenyomottnak tekinthető. Ilyenkor lehet nagyobb frekit is használni a vizsgálathoz(pl. 100Hz). Nem túl bonyolult és alig vesz el időt a többi programtól, minden működhet "egyszerre", legalább is az emberi léptékek szerint.
A hozzászólás módosítva: Dec 14, 2012
Ezt eredetileg is megszakítással csináltam, amúgy eszembe nem jutott volna így csinálni. Amúgy a T-bird-ön lévő mátrix billentyűnek nincs prellegése. (én ezzel az eszközzel suliban tanultam, ott azt mondta a tanár, hogy hall elemes lehet.) Így ennyivel is könyebb a programozása.
Szia,
először is rossz helyen vagy, illett volna használni a keresőt, témaindítás előtt. De ezt majd a moderátorok megoldják, átteszik a kérdésedet a megfelelő helyre... Ha letöltöd a DS18S20 adatlapját, és végigolvasod, akkor minden szükséges információt megtalálsz hozzá. Ha ez túl bonyolult, akkor pedig rengeteg előre elkészített, letölthető függvénykönyvtár áll rendelkezésedre. |
Bejelentkezés
Hirdetés |