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   222 / 837
(#) gabi20 válasza kemenygolya hozzászólására (») Máj 15, 2010 /
 
A D1 - D4 diódák valóban fordítva vannak, a kristályhoz majd ne felejtsd el 2x33pF kondenzátorokat
(#) kemenygolya válasza gabi20 hozzászólására (») Máj 15, 2010 /
 
rendben
módosítva
(#) gabi20 válasza kemenygolya hozzászólására (») Máj 15, 2010 /
 
Több hibát most már nem látok
(#) (Felhasználó 4577) válasza kemenygolya hozzászólására (») Máj 15, 2010 /
 
Az R11 még mindig bent van?
Írtam, hogy a D0-D3 adatlábakat felesleges letestelni...
(#) kemenygolya válasza (Felhasználó 4577) hozzászólására (») Máj 15, 2010 /
 
okés
javítva a rajz
(#) Sir-Nyeteg válasza kemenygolya hozzászólására (») Máj 15, 2010 /
 
Ajánlom figyelmedbe: Bővebben: Link
(#) kemenygolya válasza Sir-Nyeteg hozzászólására (») Máj 15, 2010 /
 
természetesen figyelni fogok rá
(#) gtk hozzászólása Máj 15, 2010 /
 
Sziasztok !

Avr-gcc.
Ilyennel talalkoztam:

  1. unsigned long data;

erre:
  1. data =  (A << 2) | (B << 7) | (1 << 20) | 0x01;

ezt dobta (warning) :
"left shift count >= width of type"

Ezzel mar nem volt baja:
  1. data =  (A << 2) | (B << 7) | 0x100000 | 0x01;

Az alabbinal pl. egy u long tipusba megy be 21 bit, shifttel. Es kellett jelezni neki hogy UL, maskepp nem megfeleloen mukodott. De miert?
  1. kimenet |= (1UL << (bit_position));

Ezen kivul ha algebrai muveleteket vegzek egy u long es egy u int tipussal (elfer az adat az int-ben), es u long -ban tarolom el, nem lesz helyes az eredmeny, viszont ha az int helyett is long tipust hasznalok akkor mar jo lesz.

Idaig ok, a sok szivattyu utan, viszont tobb helyet foglal.

(Eddig nem nagyon hasznaltam long tipust mikrovezerlon.)
(#) Zsora hozzászólása Máj 15, 2010 /
 
Sziasztok!
AVR32, ill. SAM9 vezérlőkhöz létezik Basic nyelvű fejlesztőkörnyezet? Eddig a MikroBasic-et használtam, ami negyon jó cucc, de sajnos az csak 8 bitesekhez van.
(#) faust02 hozzászólása Máj 15, 2010 /
 
Sziasztok!

Nagyon kezdő vagyok AVR téren, még annó középsuliban programoztunk PIC mikrokontrollereket, de meg volt építva a tesztpanel, nem kellett megértenünk, hogy hogyan működik, csak írni kellett a programokat és rátölteni.

Most rászántam magamat arra, hogy építek egy saját tesztpanelt. Találtam jó kis leírásokat, de nem értek rengeteg dolgot. Itt egy link:
BME - jegyzet
Ezalatt a "Letöltést és debuggolást lehetővé tevő, otthon is megépíthető hardver" cím alatt lévő kapcsolásokon nagyon nem tudok eligazodni.
Az első kapcsoláson van egy soros port is, amin gondolom fel tudom programozni a chip-et. Akkor minek kell hozzá JTAG debugger? Vagy ez csak opcionális, tehát ha pl USB-ről akarom felprogramozni, akkor veszek egy USB programozót, és oda tudom csatlakoztatni?
Van itt az oldalon olyan, hogy printer portos programozó kábel......lehet tehát printer portról is prgoramozni, meg sorosról is az AVR-eket?
Annyi kérdésem lenne még....
Hogy induljak el? Nekem nem kell debugger funkció, csak tudjak írni számítógépen egy egyszerű ledeket villogtató progit mondjuk, tudjam rátölteni az AVR-re, és az működjön! Ennyi.
Hogy induljak el tehát?

Köszönök előre is minden segítséget!

ui.: Már nagyon sokat gugliztam, de nem áll össze a kép.
(#) trudnai válasza gtk hozzászólására (») Máj 15, 2010 /
 
C-ben az alapertelmezett tipus az int, igy az 1 is int, ami ugye avr-gcc-ben 16 bites... magyaran 20 bittel torteno eltolasnak nincs sok teteje...

1L vagy 1UL megmondja a forditonak, hogy igen, ez egy long tipusu szam (vagy unsigned long), tehat tolhatod 20 bitnyit is...

Idézet:
„Ezen kivul ha algebrai muveleteket vegzek egy u long es egy u int tipussal (elfer az adat az int-ben), es u long -ban tarolom el, nem lesz helyes az eredmeny, viszont ha az int helyett is long tipust hasznalok akkor mar jo lesz.”


Ne haragudj, de nem ertem a kerdest -- egy peldat tudnal leirni?
(#) puli122 válasza Zsora hozzászólására (») Máj 15, 2010 /
 
Szerintem ez jó: Bascom
(#) puli122 hozzászólása Máj 15, 2010 /
 
Kicsit persze elfogult vagyok, de mi lenne ha EZT építenéd meg ?
A legtöbb kédésedre válaszol is a cikkem.

Belefért volna az AVR miértek... fórumba

Üdv: Peti
(#) Zsora válasza puli122 hozzászólására (») Máj 15, 2010 /
 
Sajnos az is csak 8 bites kütyükhöz van.
Az AVR32 Studio-t nézegetem, de az csak a C/C++ nyelvet támogatja. Még csak az Assemblyt-sem, pedig még az is megfelelne, ha már Basic nincs.
(#) bankimajki hozzászólása Máj 15, 2010 /
 
Sziasztok jelenleg még nem nagyon értem az AVR-ek típusait, és most nem is szeretnék vele komolyabban foglalkozni (Sok a vizsga és nincs időm.) Ezért csak egy egyszerű kérdésem lenne. Ebbe a kapcsolásba: Panelműszer, ez a megnevezésű processzor: "8 ATMEGA8-16AU (ATM) avr isp-mc 8k flash 16MHz TQFP32" ugye megfelel? Előre is köszönöm a segítséget.
(#) puli122 válasza bankimajki hozzászólására (») Máj 15, 2010 /
 
(#) bankimajki válasza puli122 hozzászólására (») Máj 15, 2010 /
 
Köszönöm. Akkor jól sejtettem.
(#) gtk válasza trudnai hozzászólására (») Máj 15, 2010 /
 
Idézet:
„...20 bittel torteno eltolasnak nincs sok teteje...”
De hat megis csak u long -ba shiftelem, ez sem mond a forgatonak ezek szerint semmit. En erre alapoztam.
A masodik problemat meg atnezem, hogy nem-e az is az elobbihez kapcsolodik. Ha nem, beszurok konkret peldat.
(#) trudnai válasza gtk hozzászólására (») Máj 15, 2010 /
 
Nem szamit mibe akarod eltarolni. A C-ben csak integer promotion van, tehat automatan nem fogja kivalasztani neked a nagyobb tipust. Ez nem csupan gcc vagy avr-gcc, es az ANSI C szabvany. Windows es Linux alatt az ember kevesebbet talalkozik talan ilyen problemakkal mivel ott az int 32 bites... sot a long is...
(#) puli122 hozzászólása Máj 15, 2010 /
 
Nincs valami ötletetek hogy hogyan lehetne smd Avr-eket felprogramozni hatékonyan, úgy hogy a céláramkörre nem teszek programozó csatlakozót? Be kell forrasztanom elöbb egy programozó panelre, utána ki, és utána a helyére ?
(#) gtk válasza puli122 hozzászólására (») Máj 15, 2010 /
 
Ez engem is erdekelne SMD Mega8 eseteben.
(#) trudnai válasza puli122 hozzászólására (») Máj 15, 2010 /
 
pogo pin-nel probalkoztal mar?
(#) puli122 válasza trudnai hozzászólására (») Máj 15, 2010 /
 
Ezt nem értem, hogyan működik ?
(#) (Felhasználó 4577) válasza puli122 hozzászólására (») Máj 15, 2010 /
 
Nézd meg jobban a képet. A NyÁK-on ott vannak a PAD-ek, azok az aranyozott lábak pedig rugósak, egyenként oda-vissza tudnak mozogni. Odanyomod a panelra és forrasztás nélkül programozod.
(#) gtk válasza (Felhasználó 4577) hozzászólására (») Máj 15, 2010 /
 
Ez klassz. De szerintem olyan megoldas erdekli, hogy ne kelljen beforrasztani az IC-t.
Letezik olyan foglalat, amiben SMD-t lehetne programozni?
(#) (Felhasználó 4577) válasza gtk hozzászólására (») Máj 15, 2010 /
 
Szerintem is.
Persze, hogy létezik.
Csinálsz magadnak NyÁK-ból.
Kimaratod a sima foglalatot, pl mega8 TQFP32.
A lábak nem teljesen laposak, kicsit íveltek, így ha rányomod a panelra érintkezik rendesen.
(#) puli122 válasza (Felhasználó 4577) hozzászólására (») Máj 15, 2010 /
 
Valószínű ez lesz, csak gondoltam van valami jobb megoldás. Persze nyilván van, csak drága..
Köszi
(#) (Felhasználó 4577) válasza puli122 hozzászólására (») Máj 15, 2010 /
 
Én úgy szoktam, hogy a vezetősávokra ráforrasztom a vezetékeket, miután beforrasztottam mindent, vagy ha nem SMD-vel dolgozok, akkor egyből az IC lábaira.
(#) trudnai válasza puli122 hozzászólására (») Máj 15, 2010 /
 
Persze, hogy letezik ilyesmi, csak ahogy sejted nem olcsok.
(#) gtk válasza (Felhasználó 4577) hozzászólására (») Máj 15, 2010 /
 
Arra az esetre kellene valami jo megoldas, mikor tobbet kell egyszerre es gyorsan programozni.
Következő: »»   222 / 837
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