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
Köszönöm, ha arra járok ismét, akkor megpróbálom. Túlnyomórészt Linuxot használok én is. (Már 1999-óta. )
Akkor plane nem art. Volt egy olyan koztes verzio is, aminel csak linux alol valamiert nem ment jol az ISP programozas. Ez kb 1-2 eve volt. De a legutobbiaknal mar nincs ilyen gond.
Sziasztok!
Még mindíg nem tudom hogy lehetséges az AVR studióban a programozott AVR aktuális program memoriáját kiolvasni. Szükség lenne, mivel egy adott memoria cimen tárolok adatot, és meg kellene tudnom mennyi is az a memoria szeglet értéke!
Van debuggered, mert csak akkor lehetséges.
Ha van, akkor értelemszerűen debuggolás közben View/Memory opció. Ott aztán látod az aktuális memória tartalmat. Illetve Debug/UpDownload Memory opciónál ki is tudod menteni .
Köszönöm
Sziasztok!
Linux alatt a Makefile melyik részébe (és mit) kell írni a lebegőpontos ábrázoláshoz? A sprintf() függvényt szeretném használni. AVR Studióval egyszer már megcsináltam, de most Linux alatt érdekelne. Elsősorban parancssorból. Ha úgy nem megy, akkor Eclipse-vel.. Lefordul most is a program, de az LCD-n csak egy kérdőjel jelenik meg. Köszönöm előre is!
Amugy milyen debuggerre gondoltál? Studio 4 megfelelő?
Nem szoftver, hardver. Pl. JTAG ICE MKII, vagy valami JTAG ICE klon(pl evertool).
Most ott tartok, hogy "skipping incompatible libprintf_flt.a when searching -lprintf_flt"
Reggie, nincs valami ötleted? Mi a manótól nem kompatibilis, amikor együtt települt a csomaggal?
Ellenorizd le, hogy a -mmcu= es az -arch= jo parametereket kapnak meg. Ha igen es a hiba fennall akkor:
Lehet, hogy rossz helyen keresi(azaz egy masig maggal rendelkezo AVR vagy nem is AVR architekturara forditottat probal belinkelni). Add meg a helyes libnek az eleresi utjat kozvetlenul a -L kapcsolo utan irva. Altalaban a /usr/lib/avr/lib/avrXX dir-ben talalod meg. Az XX attol fugg, hogy a te avr-ednek milyen magja van. Modszer 1: Ha belelepsz valamelyik konyvtarba akkor ott lesznek crtYYYYY.o fajlok, az YYYYY az adott IC tipusra utal igy a mellette levo .a fajlok is jok lesznek ezekhez a tipusokhoz. Modszer 2: Toltsd le az avr-gcc forrasat es az avr-devices.c -ben megtalalod hogy melyik IC tipushoz melyik AVR mag tartozik.
Köszönöm szépen! Megyek is vissza oda. Windows alatt ugyanis jó a lebegőpontos ábrázolás, de én nem itt szeretném csinálni.
A kérdőjel azonban megmaradt.
Pedig már minden jónak tűnik. Mehetek vissza az Ablaxba.
Na azt viszont olyas valakitol kell megkerdezni, aki hasznal printf-et. En sajat fuggvenyeket hasznalok.
Nem baj, innen már majd csak kialakul!
Köszönöm ismét!
Nincs mit. Viszont ha igy magatol nem talalta meg a lib-et, amit pedig kene, akkor a helyedben atneznem alaposan a makefile-t illetve a parametereket, mert szinte biztos hogy valahol valami el van szurva.
Az az érdekes, hogy Ablax alatt ugyanaz a kód jó. Biztosan a Makefile-ben lesz a baj, ezt majd később át is nézem. Az az igazság, hogy már írtam bele sok mindent, és lehet, hogy maradtak benne olyan dolgok is amik a mákos bejglivel kapcsolatosak. Na és természetesen ezt még sokat kell tanulnom.
Windows alatt az ltoa( (dword) ( mert_ertek-Elem_min)*100/volt_tartomany),buff,10); eredménye 2.
Linux alatt 100. mert_ertek = 5115 Elem_min = 3400 volt_tartomany = mert_ertek - Elem_min = 5115-3400 = 1715 Namármost 1715*100/1715 az 100. Az Ablaxnak miért nem annyi?
Próbáltad már legenerálni a makefilet az mfile programmal?
Itt találsz róla infót: Mfile Van benne olyan opció miszerint a printf() az legyen lebegőpontos. Érdemes lenne megnézni mit generál erre, és neked mi van a makefileodban most.
Nagyon szépen köszönöm neked is!
Mindenképpen meg fogom nézni. Csak az a baj, hogy ezek az adatok (lebegőpontos számok) egy lcd_puts() függvénybe kellenének. Számomra így a sprintf() tűnik egyszerűbbnek, de biztosan azért, mert még keveset tudok.
Szia!
Próbáld meg így: ltoa( (((dword) ( mert_ertek-Elem_min))*100L)/volt_tartomany)
Valami operációs rendszer utánzat. Unix - Linux - Ablax (Windows)
Az a lényege, hogy megpróbál gondolkodni helyetted, és mindig tudni véli, hogy mi neked a jó. Tudom, hogy nem kellene minden hibát a Windowsra fogni, de nálam ez sajnos egy megrögzött szokás.
Végülis emberek csinálják mindegyiket, csak más a motiváció, ha lehet így nevezni
Ahh, tehetsegpotlas.
En mar attol is kivagyok, hogy a KDE4 (meg a GNOME is) automatikusan bemountolja a gepre dugott pendrajvot.
En ezekkel a szamokkal meg papiron sem tudtam kihozni a 2-ot, pedig mar mindenfele tipussal probaltam tulcsordulasi problemat okozni. Sot meg az indianok sem okozhatjak.
Ha már Linux akkor Ti milyen környezetet használtok fejlesztéshez?
Nálam git-ben van tárolva az első két tesztprojekt és annak header fájljai. Bővebben: Link. A headerek egy kedves ismerősöm munkáját (is) takarják. Ti használtok ilyesmit? Vagy minden projekt esetén új Makefile, stb.? Változáskövetést? |
Bejelentkezés
Hirdetés |