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
Bocsáss meg! Te Isten vagy, én pedig egy balfék. Korábban átírtam a függvény visszatérési értékét uint8_t - re. És elfelejtettem.
![]() ![]() ![]() Nagyon szépen köszönöm a segítségedet!
Szívesen!
Cserébe várjuk az elért mérésteszt eredményeket! Kíváncsiak vagyunk, mit tud az UC?
Rendben. Köszönöm ismét! És ismét. Nem lesz egyhamar kész, mert csak hétvégén van időm ezzel foglalkozni. És lehet, hogy lesznek még kérdéseim. Az ARM-hez vagyok jobban szokva, de abban is van még hová fejlődni.
![]()
Ez csudajó, köszi, majdnem áttértem erre, de az előzővel már az építésnél tartok.
Szerintem ha első kész nekiesek ennek is.
Megnézné valaki, hogy mi a baj ezzel a koddal. Nem akar az interruptra ugrani, s igy nem is megy. Már orákat szorakozok vele, de valamit nem látok amit kellene. Eredetileg egy Atmel mintakod volt,de megprobáltam átirni Mega328-ra)
Kösz
A hozzászólás módosítva: Feb 1, 2015
Szia!
Nem igazán értek az asm-hez, de véleményem szerint a TCCR1A, TCCR1B (ezt nem is találtam a kódban) regiszterek nincsenek jól megadva. Feltéve, hogy CTC módot szeretnél előosztás nélkül, akkor valamilyen ehhez hasonló kód kellene (C-ben)
Nálad a CS00 a TCCR1A-ba megy, ami nem jó, mert a nullás bit a TCCR1A-ban a WGM10, nem beszélve arról, hogy a TIMER1-nél célszerű a CS10-et használni, bár értéke ugyanaz, mint a CS00-nak.
58,59 sor nem jó mert a TCCR1A-t nullázni kell,ahogy Istvanpisti is írta,valamint a 78.-ban TCCR1B-re kell átírni,ebbe kerül 9,ami Istvanpisti második sorának felel meg C-ben.
Kösz mindenkinek, már forog.
![]() ![]() ![]() Elnéztem azt a 2 sort, pedig azt már van 20x átirtam mert a 328-ban 3 TCCRx van , az eredetiben csak 1 volt. ![]()
Sziasztok!
Szerintetek hogyan lehet az, hogy egy ltc1864-es ADC negatív számot ad a mérésnél, annak ellenére, hogy uint16_t a függvény visszatérési értéke, valamint a változók is. Itt az ominózus függvény:
sprintf-fel alakítom át kiíratás előtt, de az itoa is ugyanúgy negatív eredményt hozott. Nagyságrendileg jó a mért érték, csak azt nem értem, hogy lehet negatív, ha egyszer unsigned. Az ltc1864 egy AD22285-ös gyorsulásmérőre van kötve. Ez 2,5 V feszültséget ad alaphelyzetben. Amit utoljára mértem, az -28010 volt. Vajon mi okozhatja ezt? A kontroller Atmega2561.
Azert ir ki negativ szamot, mert a sprintf-nek azt mondod, hogy signed-kent ertelmezze az erteket. Ha a szamod legfelso bitje 1, akkor negativkent fogja kiirni. Ha a sprintfnek %d helyett %u-t irsz, akkor unsigned-kent fogja ertekelni, es pl. -1 helyett 65353-ot fog kiirni.
Viszont azt nem tudom, hogy a _delay_us() fuggveny float bemeno parametert var-e, de nem hiszem. 0.03us az 30ns, annyit sw-bol nem igy kell varni. Ez nagyjabol 5 orajel.
Sziasztok.
A cégben hányódik egy pár felesleges frekiváltó kijelző. Szétkaptam az egyiket, ATmega 169P + UMNH-7909JN-2F van benne. Ez egy 5x3 cm grafikus kijelző, sárga háttérvilágítással. Találkozott már valaki ilyen LCD-vel? Sok guglizás után csak annyi derült ki, hogy jelölés alapján U.R.T. lehet a gyártó, de ezt a konkrét modelt nem találtam. Hogy lehetne kideriteni, milyen vezérlője lehet ennek a panelnak? A hozzászólás módosítva: Feb 3, 2015
Üdv!
Bár nem pic be lesz hanem avr-be, de ha le tudná valaki fordítani ezt a c nyelvű progit hex-be úgy hogy a cell num-ot átirja 6-ra azt nagyon megköszönném. Üdv! A hozzászólás módosítva: Feb 3, 2015
Sziasztok!
Építettem a Tuxgraphic oldalról egy NPT órát. A leírás szerint, égetéskor át kell állítani; "Change the low fuse byte from: 0x62 to 0x60 avrdude -p m168 -c stk500v2 -u -v -U lfuse:w:0x60:m" Ennek megfelelően, átírtam a LOW 0x62-t ----> LOW 0x60-ra (amíg ezt nem tettem meg, nagyon pontatlan volt, ugyan minden egész órakor újra szinkronizálta magát, de a végére kb10 percet késett). Utána már semmit se tudtam csinálni az AVR studióval rajta. Egyébként, tökéletesen működik maga az óra, csak a portot át akartam írni benne és akkor vettem észre. Valamit én szúrtam el, vagy ezt már csak fusebit doctor tudja helyrehozni? A hozzászólás módosítva: Feb 4, 2015
Figyu szabi95!
Ha szeretnéd, hogy működjön is neked a dolog? Közölnöd kellene, mi az AVR pontos típusa és milyen óra jelel van meghajtva? ![]() Jobbat mondok! Ez ingyenes, töltsd le és megcsinálhatod magadnak: Atmel Studio 6 A hozzászólás módosítva: Feb 4, 2015
Az avr típusa attiny 13.Pontosan ez.
A program innen van. A gond csak az hogy én nem értek ezekhez a dolgokhoz(suliban még csak az analóg elektro-t vesszük)úgyhogy nem tudok programot írni.Kérdeztem suliban tanárt és azt mondta hogy nem ártana tudni azt is hogy melyik programmal írták ezt a progit mert ha rosszal fordítom le akkor nem fog működni.
Az általad idézett Cikkek » Nyolc lábbal AVR IV. rész
De! A tanulást az elejéről kellene kezdened, mert ha nem érted az alapokat. Hiába van meg a *.hex, nem tudod feltölteni, fuse biteket beállítani …! Kezd a sorozat többi részével: • 1. Nyolc lábbal AVR I. rész • 2. Nyolc lábbal AVR II. rész • 3. Nyolc lábbal AVR III. rész Javaslom, kezd az elejétől, és szépen lépésenként A számolást sem a gyökvonással kezdték neked tanítani!
Félreértesz,én nem akarom még megtanulni se a programozást se a többi digitális cuccot csak meg akarom építeni azt az akkutöltőt.
A beprogramozást meg suliban meg tudom oldani.
Megkaptad az Atmel Studio 6 linkjét!
Ugyan ott vannak bemutató videók a használatról! Végignézed és mindent megtudsz belőlük! Azt a kritikus 4-est, meg csak kitudod javítani 6-osra! ![]()
Bemásoltam a programot és megpróbáltam hex-et csinálni de nem sikerült.(a zöld vonal feletti rész nélkül is próbáltam)
A hozzászólás módosítva: Feb 4, 2015
Nem elég csak bemásolni!
Ajánlom: Bővebben: Link Megtekinteni: 1.:Create a New C Project for GCC in Atmel Studio 6 2.: Build a Project in Atmel Studio 6 3.: In-System Programming in Atmel Studio 6 A hozzászólás módosítva: Feb 4, 2015
Az első kettöt néztem a harmadikat nem is találtam.
Idézet: „Nem elég csak bemásolni!” Miért nincs megírva a program?? ![]() Megnéztem a harmadikat de nekem nem is olyan a properties menüben a cucc. Ennyi alapján nem fogom tudni megcsinálni. Hagyjuk is abba. ![]() Leírom röviden amit mutogat: File > New Project > GCC C Executable Project > OK > Device Family > tinyAVR8 > attiny13 > OK Most CopyPaste a forrás > Build! ?? A hozzászólás módosítva: Feb 4, 2015
"átírtam a LOW 0x62-t ----> LOW 0x60-ra"
Ezzel külső órajelre állítottad az AVR-t. Valószínűleg nem építettedbe a megfelelő külső Kristályt a működéshez? Ezért nem indul el neked! Bővebben: Link
Ugyan ezt csináltam az előbb is és ahogy akkor, most is errorokat dobott ki.Korábban azt irtad hogy nem elég csak bemásolni most meg azt mondod hogy csak másoljam be.Akkor most mi van??
Fogtam és a program mellett megnyitottam a mappát amibe benne van a c file és áthúztam a programba és működött a build. ilyen lett a hex file: :1000000009C00EC00DC00CC00BC00AC009C008C09A :1000100007C006C011241FBECFE9CDBF02D002C069 :08002000EFCFFFCFF894FFCFF2 :00000001FF Ennek ilyen kevésnek kell lennie?
Ne jó!
Nem egészen ezt mondtam! Itt elmutogatják az első 1 percben: Bővebben: Link 1.:Create a New C Project for GCC in Atmel Studio 6 Bővebben: Link Neked ezeket a menüket kel megkeresned, kiválasztani, beállítani, balgombot nyomni az egéren! File > New Project > GCC C Executable Project > OK > Device Family > tinyAVR8 > attiny13 > OK Megnyílik 1 üres project lap. Oda copipaste a te listádat, felülírva az automata szöveget. A hozzászólás módosítva: Feb 4, 2015
Nagyon köszönöm a válaszod!
Megvilágosodtam. Legalább is, úgy gondolom. Itt az alapkapcsolás, ahol látható, hogy az ENC28J60-as CLKout kimenete az AVR XTAL1 bemenetére van kötve, tehát onnan kap órajelet. Viszont, ha kiveszem az AVR-t és berakom az égető foglalatába, akkor gondom azért nem működik, mert nincs órajele, jól sejtem?
Áhhh.Pontosan ezt csináltam:
File > New Project > GCC C Executable Project > OK > Device Family > tinyAVR8 > attiny13 > OK És ez után a program mellett megnyitottam a mappát amiben a c file van,áthúztam a proramozói felületre, kitörlődött az alap szöveg és megjelent a proram.Ezután build,megkerestem a hex filet és bemásoltam a tartalmát ide.Csak ennek ilyen kevésnek kell lennie?
Valamit még mindég elrontasz!
Build előtt mindig nyomjál Save-t. Jó könyvtárban keresed az eredményt? Nálam ez jött létre:
A hozzászólás módosítva: Feb 5, 2015
Igen!
Kösdát az CLKout-ot. A hozzászólás módosítva: Feb 5, 2015
|
Bejelentkezés
Hirdetés |