Fórum témák

» Több friss téma
Fórum » AVR - Miértek hogyanok
 
Témaindító: pakibec, idő: Márc 11, 2006
Témakörök:
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
Lapozás: OK   47 / 840
(#) MaSTeRFoXX válasza Lucifer hozzászólására (») Jan 24, 2008 /
 
Igen... vagy bele kéne olvasni egyszer a linuxos ablakos progi írásának a mikéntjébe (egyszer már egy tutorial segítségével csináltm egy ablakot egy db gombbal gnome alatt ) meg az AVR fuse programozás mikéntjébe és öszehozni egyet.
A múltkor jöttem rá hogy AVR studióban tök jó FUSE állítgató ablak van Azelőtt Bascommal csináltam a fuse állítást, de nem ismeri az STK500v2-t...
(#) huba hozzászólása Jan 24, 2008 /
 
Sziasztok kicsit elkeveredtem. Valaki leirná nekem hogy nézem meg egy byte 7-dik bitét hogy logikai 1-e? Egy wihle ciklust kéne leállítsak. Valamiért így nem müködik
  1. c=(1<<USIOIF);
  2. while (~((USISR &(1<<USIOIF))==c))
(#) gtk válasza Lucifer hozzászólására (») Jan 24, 2008 /
 
Idézet:
„Ha nem tetszik csináld meg magadnak.”

Ez bolcs gondolat, csak neha olyan kinkeserves tud lenni meg egy kesz program beuzemelese is
Rengeteg ido es energia,..
(#) gtk válasza huba hozzászólására (») Jan 24, 2008 /
 
  1. while (! (USISR & (1<<USIOIF)) )


Mikor a 7. bit 1 lesz, ciklus leall.
(#) huba válasza gtk hozzászólására (») Jan 24, 2008 /
 
Köszönöm. Most akkor hogy is van ez? A felkijáltójel a not akkor mi a giliszta? Invertája a bytot? :vigyor5:
(#) Topi hozzászólása Jan 24, 2008 /
 
Elég közérdeknek gondolom. Ma pihenés képpen elkészítettem egy segéd órajel generátort, erre leginkább az AVR-eseknek van szüksége... főleg annak aki most kezdi az AVR-ezést.

Bővebben: Link

Mivel volt időm, részletesen bemértem is az elkészült áramkört.
(#) Lucifer válasza MaSTeRFoXX hozzászólására (») Jan 24, 2008 /
 
Masterfoxx
Ha GUI-s alkalmazást fejlesztessz Linuxra ajánlom a QT4 + QDevelop kombót. Kellemesen lehet vele fejleszteni. És minden nehézség nélkül lefordítható ugyanaz a projekt winre is.

Huba:

Az USIOIF egy szám. 7.
Tehát az 1<<7 gyk b10000000 maszkot hoz létre. Ez lesz a c változód.

Ha ezt összeÉSeled a USISR-el, akkor az alsó 7 bit nem lehet 1. Az hetedik meg csak akkor 1 ha az USISR 7. bitje is egy.

Tehát USISR &(1< Logikai értelmezésben --mint pl. a while ciklus feltétele-- vagy 1 vagy 0.

C-ben nincs logikai típus. Unsigned 8 bites változót szoktunk használni. Ha 0 akkor logikailag hamis ha nem 0 akkor igaz. Tehát felesleges összehasonlítani még a c-vel is. Csak elveszi a drága progmemóriát és a processzoridőt.
(#) Lucifer válasza Topi hozzászólására (») Jan 24, 2008 /
 
Ez csodajó hasznos ketyere. Micsoda nagyüzem van ma a kapcsolások terén.
(#) MaSTeRFoXX válasza Lucifer hozzászólására (») Jan 24, 2008 /
 
Köszi, majd egyszer kipróbálom
(#) gtk válasza huba hozzászólására (») Jan 24, 2008 /
 
Egyoperandusu logikai tagadas. Felteteles kifejezesekben hasznalando. Ertelemszeruen az egy byte-os visszatero erteke csak logikai igaz v. hamis lehet (0,1)
Az altalad hasznalt egyes komplemensnek (~) lehet 0-1-tol eltero erteke, mert az "bit fordito".
(#) deguss válasza deguss hozzászólására (») Jan 25, 2008 /
 
Hát én kritikus eset vagyok.
Ugyan azt csinálja WINAVR meg AVRStudio is. Tehát az avr-gcc compilerral van a baj. Most ahogy megtudtam, külön a compilert nem is tudom használni (parancssorból), vagyis iszonyat bonyolult.

Egy szimpla példa programnál is már rossz helyre ír, nagyon durván viselkedik az sh.exe. Egyik oldalon ajánlottak egy javítást, de az sem segített. Nyilván valóan, a WINAVR meg az AVRStudio SP-jai sem.

Áttérek Linuxra programozásilag, elegem van ebből a gágy winfosból, lefogadom, nem is az avr-gcc hibája.

(#) digimann válasza MaSTeRFoXX hozzászólására (») Jan 25, 2008 /
 
Hello!

A Java-t nem próbáltad még? Én múlt kaptam a ti-től mintadarabot egy sztereo hangerőszabályzó IC-ből. Készült is hozzá egy tesztáramkör, RS232-es csatlakozással. Ha meg már csatlakozik a gépre... (csatolmány)

Szerintem a Java-nál egyszerűbben nem lehet ablakos progit gyártani, és mindemellett platformfüggetlen azaz akár ÚJRAFORDÍTÁS NÉLKÜL használhatod különböző platformokon a szoftvert.

Cső!
(#) matrix64 hozzászólása Jan 25, 2008 /
 
Sziasztok! Meg tudná valaki mondani,hogy miért áll le a studio simulátora ebben a makróban minden hibaüzenet nélkül ? Még kell rajt javítani,de olyan értékkel hívom amivel elvileg működnie kellene.Kösz

macro.inc
    
(#) gtk válasza deguss hozzászólására (») Jan 25, 2008 /
 
Szerintem nem ansi c van ott neked a hatterben. Ha avr-gcc-t hasznal a studio, akkor az a kod sosem fog lefordulni..
(#) deguss válasza gtk hozzászólására (») Jan 25, 2008 /
 
Egy példaprogrammal is próbáltam, ugyan ez a helyzet.
Parancssorból lefordul!
(#) gtk válasza deguss hozzászólására (») Jan 25, 2008 /
 
Az a kod ami a kepen a haterben latszik lefordul avr-gcc-vel?
(#) deguss válasza gtk hozzászólására (») Jan 25, 2008 /
 
Olyan kóddal próbáltam, ami simán lefordul parancssorból. Most arra gyanakszom, hogy a fordító csak DOS-os könyvtárnekevek tud kezelni, ezért lehet hogy emiatt nem volt jó ötlet a D:\Program Files\AVR helyre tenni.
Most suliban megpróbáltam D:\PROGRA~1\AVR\-be tenni, tökéletesen fodít! Hazamegyek, egyből kipróbálom.
(#) digimann válasza deguss hozzászólására (») Jan 25, 2008 /
 
Hello!

Nem egészen értem mi is a problémád... Az AVRStudio nem fordít, de a Win-AVR parancssorból igen?!?!
(#) huba hozzászólása Jan 25, 2008 /
 
Mostmár tudom miért nem volt az adatkimeneten semmi az SPI-men. A nagy fejemmel a proci lábkiosztásánál kinéztem a MOSI-t, csakhogy az programozó Master kimenete.
(#) deguss hozzászólása Jan 25, 2008 /
 
Aki meg nem járta meg, tanuljon más hibájából: Minden fordító útvonalában csak DOS-os útvonalnevek szerepelhetnek (max. 8 karakter, szóközt nem szabad!)

Mivel én a D:\Program Files\AVR\ -be tettem, pórul jártam, és szenvedtem fél napot vele! Senki ne essen ebbe a hibába!

Egyébként, ha mindenképpen a D:\Program Files\AVR\-okhoz szeretnénk, használjuk a DOS-os nevét: D:\PROGRA~1\AVR\

Köszönöm mindenkinek a segítségét!
(#) imbra hozzászólása Jan 25, 2008 /
 
üdv Mindenkinek!
Egy kis segítséget szeretnék kérni. Egy AT89C2051-hez keresek programozót, valaki egy kapcsolási rajzban tudna segíteni? Köszönettel: Zoli
(#) digimann válasza deguss hozzászólására (») Jan 26, 2008 /
 
Ha AVR-Studio-ról van szó épp, és a libary könyvtár elérési útvonalának a megadásáról, sokat lehet a dolgon egyszerűsíteni. Itt le is írtam, hogy miként. Így elég a relatív útvonal.
(#) vegyészmérnök válasza imbra hozzászólására (») Jan 26, 2008 /
 
A legegyszerűbb programozó AT89C2051-hez: Link
Az oldal alján bonyolultabb, de több funkcióval rendelkező programozók linkjeit is megtalálod...
(#) fulopsandor hozzászólása Jan 29, 2008 /
 
Sziasztok!Új vagyok itt a fórumon, és most kezdenék AVRStudio+WinAVR kombinációval. Sajnos megakadtam az elején. Letöltöttem a Procyon AVRlib-et és UART-ot szerettem volna használni, de sajnos a következő hibaüzenetet kaptam fordításkor: C:\\\\avr\\\\default/../main.c:57: undefined reference to `uartSendByte\\\'
Kérlek segítsetek valami nagyon konyhanyelven elmagyarázva mit csinálok rosszul és hogyan kellene:
Köszi.
(#) huba válasza fulopsandor hozzászólására (») Jan 29, 2008 /
 
Azért mert a lib-et nem kompilája össze a programmal. Én is sokat szívtam vele. ittvan a válasz. Így müködnie kellene.
(#) fulopsandor válasza huba hozzászólására (») Jan 29, 2008 /
 
megpróbáltam,de ugyanaz a hiba. Az uart függvény nem a WinAVR-ben van, hanem egy AVRlib nevű könyvtárban, de úgy tűnik azt is hiába állítom be. Mi lehet a gond, már jó ideje ezzel küzdök és csak abban bízom, hogy ti tudjátok
(#) gtk válasza fulopsandor hozzászólására (») Jan 29, 2008 /
 
  1. -l lib_neve
alakban add meg a gcc-nek a libraryt amit hasznalsz uarthoz.
  1. -L eleresi_ut_a_megfelelo_libhez
alakban add meg a library eleresi utjat, igy forditsd ujra az egeszet.
Plussz a megfelelo header legyen behuzva, abban van a fuggveny prototipusa.
(#) matrix64 válasza fulopsandor hozzászólására (») Jan 30, 2008 /
 
Lcd,IIC,Uart-ra én a Fleury féle lib-eket használom.
Ezek már szinte standard-nak számítanak a Winavr-ben.
http://jump.to/fleury
(#) Norberto hozzászólása Feb 3, 2008 /
 
Egy kis frissesség ITT!
(#) dpeti válasza deguss hozzászólására (») Feb 3, 2008 /
 
egyébként nem értem, hogy egy ilyen nagy cég miért nem tudja ezt az egy apróságot végre kijavítani...

Következő: »»   47 / 840
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem