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   435 / 840
(#) zombee válasza enree hozzászólására (») Ápr 8, 2012 /
 
DE! ! !
Az IC típusát be kell állítani, különben nem megy!
(#) PipfejBob válasza enree hozzászólására (») Ápr 8, 2012 /
 
Először próbáld meg AVR Studioban a "read signature" gombot a programozó Main ablakában. Ha valami értelmes hexa kódot ad vissza akkor a kommunikáció is stimmel. (Mond majd meg mit kaptál válaszul)
Sajnos nem ismerem az általad használt programozót, de még egy tipp, ha lehet akkor a programozóból vezesd ki a Vcc-t és a GND-t.
+ Állítottál valamit a fuse biteknél?
(#) mzozo95 hozzászólása Ápr 8, 2012 /
 
Sziasztok!

Uart-on a bejövő adatokat szeretném feldolgozni, de a bejövő értéket nem ACSII karakterként hanem (0-255) decimális számként szeretném feldolgozni...
A PC oldali program kiküldi az adatot, én így dolgoztattam fel az AVR el:
  1. // Interrupt
  2. SIGNAL(SIG_USART_RECV)
  3. {
  4.    unsigned char buffer;
  5.    if(UCSR0A & (1 << RXC0)) {      
  6.      buffer = UDR0;
  7.  command= buffer;
  8.  
  9. ////////////
  10. switch(buffer) {
  11.             case 100:
  12.               buffer=0;
  13.               run();
  14.               break;
  15.  
  16.             case 'b'://csak a teszt miatt
  17.              buffer=0;
  18.               stand();
  19.                 break;
  20.  
  21.             case 202:
  22.              buffer=0;
  23.              rest();
  24.              break;
  25.  
  26.            case 203:
  27.             buffer=0;
  28.              jogg();
  29.               break;
  30.  
  31.            case 204:
  32.             buffer=0;
  33.             stand_up();
  34.             break;};

Valamiért, ha a case-ban karaktert adok meg(és PC oldalon is karaktert küldök ki), akkor végrehajtja az adott utasítást az avr, de ha mindkét oldalon decimális értékként kezelem az adatot, akkor nem...

A feljebb lévő AVR oldali program helyesen dolgozza fel az adatot?(ha igen, csak a PC nél lehet a hiba)

Zoltán
(#) enree válasza PipfejBob hozzászólására (») Ápr 8, 2012 /
 
Sziasztok!
Zolee1209, Zombee - beállítottam a mikrovezérlőt
PipfejBob - a programozó adja neki a tápot az USB-ről.
Hiába nyomom a read-et neki, semmi, mindenre ez a hibaüzenet, hogy nem látja a kontrollert
(#) zombee válasza mzozo95 hozzászólására (») Ápr 8, 2012 /
 
És ha vegyesen csinálod, azaz egyik oldalon decimálisan, másikon karakterként kezeled és fordítva?
Legtöbbször az egyik oldal hibázik, míg a másik működik rendesen. Lehet az AVR progival nincs semmi baj.
(#) zombee válasza enree hozzászólására (») Ápr 8, 2012 /
 
Ilyenkor mindig megkérdezem: biztos minden be van kötve? Minden tápláb és földláb is?
Kondi a táplábakon?(de az látom van). Illetve biztosan kap tápot? Azaz az 1-es kapcsoló be van állítva?
(#) enree válasza zombee hozzászólására (») Ápr 8, 2012 /
 
Szia!
Be van kapcsolva, lemértem... Sőt, egyesével kicsipogtam minden bekötött lábat, a kontroller lába és a programozó közt, az a gyanúm, hogy a 328-as döglött... kedden veszek egy újat, ha egyéb tipp nincs, ha azzal se javul meg, X aktának minősítem
(#) TavIR-AVR válasza enree hozzászólására (») Ápr 8, 2012 /
 
Igaz nem Studio 5 vagy 6-l próbálkozol?
Studio 4 felett ne is reménykedj...

U.i.: A Dopert nem véletlenül nem szokták ajánlani....
(#) enree válasza TavIR-AVR hozzászólására (») Ápr 8, 2012 /
 
Studio4, ezzel kapcsolatban már kiokítottak.
Ebből kontroller csere lesz... aztán megírom, mire jutottam, nem rugózok többet rajta, mert csak felhúzom magam. Köszi mindenkinek.
(#) mzozo95 válasza zombee hozzászólására (») Ápr 8, 2012 /
 
Nagyon úgy tűnik, hogy a PC oldallal van a gond... Majd írom a fejleményeket!
(#) zombee válasza TavIR-AVR hozzászólására (») Ápr 8, 2012 /
 
Az AVR Studio 5 fel sem ismeri a Doper programozót! Látszik hogy sem 4-et, 5-öt vagy 6-ot nem használsz.
Ember, Te folyton ferdítesz! Etikátlan!
(#) zombee válasza mzozo95 hozzászólására (») Ápr 8, 2012 /
 
Valahogy éreztem, hogy a PC-oldalon lehet a baj és az sem tetszik hogy egy terminál engedi billegetni...
Apropó, heuréka: ha leírsz egy karaktert, nem biztos hogy azzal a kóddal fog átmenni ha nem ASCII-karakter.
Például egy "ó" karakter ANSI és ASCII kódok esetében más és más. A Windows ANSI-t használ.
Nézd meg a HD44780 kijelzők karakterkészletét, az is tartalmaz pár meglepetést ezügyben!
Sőt, az is előfordul hogy a terminál és az AVR Studio szerkesztője más karakterkészletet használ.
Ezért vagy karakterkódokban kell elküldeni, vagy az ASCII karakterekre korlátozni az átvitelt.
ASCII karakter többek között az angol ábécé kis-és nagybetűi, számok(0-9), illetve a leggyakoribb írásjelek.
(#) TavIR-AVR válasza zombee hozzászólására (») Ápr 8, 2012 /
 
Látszik, hogy nem bújod a fejlesztéseket...
A Doper kialakításban van olyan firmware, ami sorosport és belül STK500-at ad vissza. Az hogy a felhasználó melyik firmware-t használja - azt csak ő tudja.

Az, hogy milyen kertrendszert használok - nagyjából semmi közöd hozzá. De hogy lásd (WinXPSP2 és Win7x64 tesztkörnyezet):
Studio 4.14, 4.18, 4.19 és Studio 5 Beta valamint Studio 5. Ezek mellett AVRDude (Arduino 0023 es Arduino 1.0), Bascom-AVR 1.11.7.4-től 2.0.7.4beta (kb. 5 verzió)
Ennyi elég a teszteléshez?

Az Atmel etikáról nem tudok nyilatkozni, csak a marketingjéről: STK500 támogatás csak a Studio 5 véglegesbe került felhasználói nyomásra (és ott is csak néhány chipre). Indok: a STK600 a támogatott illetve az új programozók.

Kérdés?
(#) mzozo95 válasza zombee hozzászólására (») Ápr 8, 2012 /
 
Szia!
Köszönöm a figyelmeztetést!
Igazából nem terminált használok, saját programot írok microsoft visual c++ -ban, és itt akadtam el(talán valaki tud segíteni):

  1. int d = 100;
  2.    String w = d.ToString();
  3. serialPort1->PortName = "COM4";
  4. serialPort1->Open();
  5. serialPort1->Write(w);
  6. serialPort1->Close();}

Így elvileg a d-integert átalakítja egy egy karakteres string-é a program(mivel az "ostoba" v.c++ csak ilyet tud kiküldeni, és byteokat nem is kezel), de gyakorlatilag nem, mert az avr nem teszi azt amit akkor kellene, ha uart-on decimális 100at kap...

Lehet egyszerűbb lesz majd a string-et átalakítani int-re és vissza....
(#) Ricsi89 hozzászólása Ápr 8, 2012 /
 
Sziasztok!
Egy apró kérdésem lenne. Újra lett téve a gépem, win7 32bit. Eddig ment a doper simán avrstudio4-el, most nem. Driver feltéve, eszközkezelőben com3-on látszik a doper, viszont studio nem ismeri fel. Ötlet?
(#) zombee válasza TavIR-AVR hozzászólására (») Ápr 8, 2012 /
 
A Doper-en belül is van többféle firmware, egyedül az elv(AVR által emulált sorosport és STK500) ugyanaz.
Csak azért mert van pár bugos fw. típus(pl. a Topi féle) nem kéne az összeset leszólni.
Tisztában vagyok az eszköz lehetőségeivel, korlátaival(Bascom és AVR Studio 5 inkompatibilitás;
sebesség), és ezt igyekszem a vásárlók tudtára adni. A "programozni nem-tud" nincs köztük, mert azt tud.
(#) zombee válasza Ricsi89 hozzászólására (») Ápr 8, 2012 /
 
Csak a szokásos. Aláírásellenőrzés kikapcsolása, vagy az alábbi lépéssor elvégzése: Bővebben: Link
Azért nem működik mert a driver nincs aláírva. Feltelepül, de az AVR Studio számára nem engedi elérni.
(#) blackdog hozzászólása Ápr 8, 2012 /
 
Sziasztok!

Ha 74HC595 shift regisztert hardveresen szeretném használni akkor kell valami beavatkozás, hogy az AVR felprogramozása közben ne történjen galiba?
(#) Ricsi89 válasza zombee hozzászólására (») Ápr 8, 2012 /
 
Megcsináltam a leírás alapján, de a helyzet változatlan, studio így sem látja. Régen valami egyszerűbb módon volt megcsinálva és semmi gond nem volt vele utána.
(#) zombee válasza Ricsi89 hozzászólására (») Ápr 8, 2012 /
 
Akkor aláírásellenőrzést kell kikapcsolni. Régen ezt ajáblottam mindenkinek amíg meg nem ismertem a leírást.
(#) zombee válasza blackdog hozzászólására (») Ápr 8, 2012 /
 
A "/OE" lábra tegyél egy felhúzó ellenállást, és lehetőleg ne a MISO-val vezéreld. Akkor nincs galiba.
Programozás után először úgyis egy olyan értéket állítasz be ami nem okoz bajt, és csak utána engedélyezed.
(#) Ricsi89 válasza zombee hozzászólására (») Ápr 8, 2012 /
 
A fene sem érti már ezt. Gép újraindít, F8-al menü bejön, aláírás ellenőrzés kikapcs, driver betallóz, erre megint előjön a szöveggel, hogy nincs aláírva és hogy telepítem-e a drivert. Feltettem, helyzet változatlan studio még mindig nem hajlandó hozzányúlni. Ezelőtt ment, ugyanez a rendszer volt, ugyanerről a lemezről telepítve, most meg nem akar csinálni semmit.
(#) zombee válasza Ricsi89 hozzászólására (») Ápr 9, 2012 /
 
Eszközkezelőben ír valamit? Sárga felkiáltőjel vagy valami? Na mindjárt teszek fel egy win7-et
hogy én is lássam mi a szitu. Remélem nem kell minden verziót 32 és 64 bitessel kipróbálni...
(#) Ricsi89 válasza zombee hozzászólására (») Ápr 9, 2012 /
 
Eszközkezelőben semmi gond, portoknál megjelenik egy "Virtual communications port(com3)" elnevezésű eszköz.
(#) oregharcos válasza (Felhasználó 5823) hozzászólására (») Ápr 9, 2012 /
 
Szia lhanzi!
Mint látod én is még csak tanulgatom az AVR-es dolgogat.
Én javaslom, hogy nézd meg ezt a filmet.
Itt látható: Bővebben: Link
Itt le van írva egy kicsit bővebben a Studio használata.
Bővebben: Link
Én azt javaslom, hogy inkáb a WinAVR-el foglalkozzál, mert az kezeli a C-nyelven írt programot.
Vagy ha ragaszkodsz a Studio-hoz, akkor is le kell tölteni a WinAVR-t és utánna a AVRStudiot, mert akkor tudja kezelni a C-t. Ennyit tudtam segíteni.
(#) IMi válasza (Felhasználó 5823) hozzászólására (») Ápr 9, 2012 /
 
Szia!
Nem tudom pontosan hol akadtál el, de pár dolgot fel sorolok:
AVRStudio, WINAVR telepítése, új project létre hozása, források bemásolása a project mappába, a Studioban a Source files-hez hozzáadni a .c kiterjesztésűeket a Header files-hez pedig a .h kiterjesztésüeket, a Configuration Options-nál beállítani a WinAVR-t (ÍGY), most már elvileg nem marad más hátra mint lefordítani (Build). A .hex és .eep file-kat alapból a project/default mappában találod.
(#) janikukac hozzászólása Ápr 9, 2012 /
 
Sziasztok!

Nem AVR-ezni szeretnék,csupán 2 kérdés merült fel, mivel egy AVR-es panelba botlottam !

1) Mi a különbség az ATMega168 és az ATMega328 között. Mert ebben a projektben először 328-at említ, de a kapcsolásban már a másikat. Miután utánanéztem csak annyi következtetésre jutottam hogy a memória nagysága változik.
Akkor mit ajánlotok, melyiket vegyem meg? Árban csak 100ft a különbség.

2) Ki tudna nekem a héten felprogramozni egy adott AVR-t ( a kettő közül egyet) nekem? A postát oda-vissza állom, és holnap adnám fel a postán.

Üdv!
(#) TavIR-AVR válasza janikukac hozzászólására (») Ápr 9, 2012 /
 
A 328: 32k Flask, 2k SRAM, 1k EEPROM
A 168: 16k Flash, 1k SRAM, 0.5k eepromű


Én - ha üres chip lenne -a 328ra szavaznék.
Fontos!
Mega168P nem ugyanaz, mint a 168!


A leírásban a makefile: atmega168-at ír...
(#) janikukac válasza TavIR-AVR hozzászólására (») Ápr 9, 2012 /
 
Szóval akkor a leírás szerint 168-at vegyek? Az üzletben
Idézet:
„ATMEGA 168-20PU MIKROKONTROLLER és ATMEGA 328P-PU MIKROKONTROLLER”
van. Akkor?

Köszi !
(#) atika911 hozzászólása Ápr 9, 2012 /
 
Sziasztok!

Adott egy 5x7-es 8 karakteres LED kijelző, amit SPI buszon kellene vezérelni. Ez már sikerült is korábban mikroC-ben. Az abban megírt programmal tökéletesen működik, tehát hardverileg nem lehet baja.
Viszont most a mikroC-ről szeretnék áttérni AVR Studio-ra és már elég régóta szenvedek vele, hogy átírjam a kijelzőnek a programját, de egyszerűen semmi nem történik mikor beégetem - a szimulátorban jól működő - programot.
Nagyon gyanús, hogy valamit az elején át kellene állítani, mivel az ISP és a kijelző lábai közösek (MOSI, SCK). Ja és mikor futás közben lehúzom az ISP csatlakozót, akkor látszik a kijelzőn hogy valami "megmozdul" és történik, de nem úgy ahogy kellene.
Csak nem értem mikoC-ben miért volt így jó.
Mellékelem az AVR Studio-ban megírt kódot és segítséget kérek!
Programozó: eredeti STK500
uC: Atmega88P

LED_Matrix.c
    
Következő: »»   435 / 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