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   184 / 840
(#) 9666 válasza (Felhasználó 4577) hozzászólására (») Feb 5, 2010 /
 
oké
(#) 9666 válasza 9666 hozzászólására (») Feb 5, 2010 /
 
Múkodik! Kösz!
(#) (Felhasználó 4577) válasza 9666 hozzászólására (») Feb 5, 2010 /
 
Szívesen!
(#) Kaz0 hozzászólása Feb 5, 2010 /
 
Nekem nem segít valaki ha nagyon szépen megkérem?
Bővebben: Link
(#) janyjozsef válasza Kaz0 hozzászólására (») Feb 5, 2010 /
 
Szia!

A 89C51 saját flas-el rendelkezik.
A 80C50-ben ROM van.
A RAM azonos és az I/O is.

Szóval, ha a reg címek is stimmelnek, akkor elvileg (hangsúlyozom elvileg!) megy.
A felprogramozás az tuti más.

Viszont évekkel ezelőtt (7 éve) én már csináltam 89C51-el órát és nagyon pontatlan volt a quartz miatt. Napi 1...2 perc.
Azt egy külső kondival kellene pontosra állítanod.

Ilyen esetben 32768Hz-s óra quartz-ot használnak. És pár száz HUF-os óra IC-t, amit ha kikapcsolsz (tápot), akkor is ketyeg az óra.
Ráadásul a kijelzőt és inkább multiplexelném, mert úgy kevesebb vezeték kell.

Na mindegy. Nem az én dolgom. Csak a véleményem.
(#) MaSTeRFoXX válasza Topi hozzászólására (») Feb 5, 2010 /
 
Rámértem szkóppal, amilyen pontosan tudott mérni frekvenciát az 32.77kHz-et írt ki. Igazából elég érdekes mert mértem 32.8-at meg 33 kHz-et, szóval a valódi frekvencia eléggé kérdéses, frekvenciamérő sajnos nem volt a közelben. Majd megpróbálok trimmer kondenzátorral is, illetve egy 3.2768MHz-es kvarcról járatni az AVR-t és majd kiderül hogy mivel lehet pontosabb órát létrehozni.
(#) Kaz0 válasza janyjozsef hozzászólására (») Feb 5, 2010 /
 
Nagyon szépen köszönöm a választ, szóval ha jól értettem, akkor nem érdemes vele foglalkozni, vissza is teszem a fiókba
(#) 9666 hozzászólása Feb 6, 2010 /
 
Helo! Most már pár fokkal előbb járok, de újabb problémába ütköztem. Amikor ráklikkeltem a Connect dialog gombra, és kiválasztottam a megfelelő (gondolom) dolgokat és leokéztam, akkor kiírta hogy Connect failed. Ez lehet azért mert a gépre nincs rákötve programozó?
(#) (Felhasználó 4577) válasza 9666 hozzászólására (») Feb 6, 2010 /
 
Basszus...
Szerinted?
Ha ilyen kérdés felmerül benned, akkor inkább keress más hobbit.
(#) barany_b hozzászólása Feb 6, 2010 /
 
Helló!
AVR MEGA16-al akarok kis servo-motort PWM-el vezérelni. A hardveres PWM-et javasolta ismerősöm, de sajna nem nagyon tudom irányítani és lenne pár kérdésem.
A pontos számítási képletet nem igazán értem. Fast PWM módban szeretném használi, de a Codevision "clock value"-t kér (nem az ósztót) amit nem találok az ATMEL leírásában. A generált kód:

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 125 kHz
// Mode: Fast PWM top=FFh
// OC0 output: Non-Inverted PWM
TCCR0=0x6D;
TCNT0=0x00;
OCR0=100;

Gondolom nekem az utolsó hármat lehet jogom később felülírni, de pontosan hogyan kellene beállítani a számláló határait?
Remélem valaki tud küldeni egy linket, vagy egy rövid kódot a main résszel együtt, ahonnan rá tudnék jönni, pontosan hogyan is történik a vezérlés.
Előre is köszönöm!
(#) trudnai válasza barany_b hozzászólására (») Feb 6, 2010 /
 
A legjobb, ha raklikkelsz a 'Kapcsolasokra', ott 'AVR', es lon, az elso cikk a lap tetejen a robotikaval foglalkozik. Raklikkelsz, es az oldalak legordulo menubol kivalasztod az 'RC szervo motorok vezerlese' oldalt...

Ez eleg bonyolult, igaz? Utana olvasol es lapozol elore, es lathatod hogyan valositotta meg a szerzo konkretan.
(#) Reggie válasza 9666 hozzászólására (») Feb 7, 2010 /
 
User error, please replace user.
(#) Szobiati hozzászólása Feb 8, 2010 /
 
Sziasztok!
Mindössze önképzéses alapon készítek most egy áramkört ami egy ventillátor fordulatszámát vezérli, de nem PWM-el hanem egy digitális potival. A dolognak ezzel a részével nincs gond szépen vezérli a ventirrátort az ATMega88-as kontrollerem.
De, most szeretném ezt hozzácsatlakoztatni a kontrollerhez, hogy ezzel vezérelhessem a fordulatot.
Ám nem tudom mit csinálhatok rosszul, de az interruptom sose akar bekövetkezni.
  1. #include <avr/io.h>
  2. #include <util/delay.h>
  3. #include <avr/interrupt.h>
  4. char speed = 200; // Ez a legalacsonyabb sebesség
  5. SIGNAL(SIG_INTERRUPT1) {
  6.         speed = 130; // Ez a legnagyobb (visszafelé megy) - csak tesztelés miatt állítom így
  7. }
  8. int main(void) {
  9.    ...
  10.    // Így állítom be az interruptot
  11.    EICRA |= (1<<ISC11) | (1<<ISC10);
  12.    EIMSK |= (1<<INT1);
  13.    sei();
  14.  
  15.    for(;;) {
  16.    ...Sebesség kiírása a potira, folyamatosan...
  17.    }
  18. }


Az encoder középső lábát +5V-ra a bal oldalit INT1-ra (PD3) a jobb oldalit PD4-re raktam.

Nem tudom, hogy a bekötésem, a beállításom, vagy esetleg mindkettő rossz-e.

Előre köszönök minden segítséget, remélem sikerült jól megfogalmazni a problémám,
Attila
(#) gtk válasza Szobiati hozzászólására (») Feb 8, 2010 /
 
Idézet:
„nem tudom mit csinálhatok rosszul, de az interruptom sose akar bekövetkezni.”


  1. volatile char speed ;


Azert a max sebesseget nezd meg a potinak. main loopban eleg gyakran kiirja
(#) (Felhasználó 4577) válasza gtk hozzászólására (») Feb 8, 2010 /
 
Mit jelent a volatile a deklarálásnál?
(#) gtk válasza (Felhasználó 4577) hozzászólására (») Feb 8, 2010 /
 
Kikapcsolja az optimalizalast.
(#) (Felhasználó 4577) válasza gtk hozzászólására (») Feb 8, 2010 /
 
És az miért jó nekünk?
(#) gtk válasza (Felhasználó 4577) hozzászólására (») Feb 8, 2010 /
 
Ennel jobban en sem tudom megfogalmazni:
Bővebben: Link
(#) (Felhasználó 4577) válasza gtk hozzászólására (») Feb 8, 2010 /
 
Értem! Köszönöm. Így már teljesen világos.
(#) Szobiati válasza gtk hozzászólására (») Feb 8, 2010 /
 
Köszi, tényleg ez volt a hiba, mostmár fut rendesen minden!! Ezer hála!!
(#) labu01wx hozzászólása Feb 8, 2010 /
 
Sziasztok!
Az megoldható ATmega 8-cal, hogy a program a belső, a timer a külső oszcillátorról működjön?
(#) csiktor hozzászólása Feb 8, 2010 /
 
Sziasztok!

Vettem egy Topi féle égető KIT-et Hestore-ban. Összeraktam, átnéztem ezerszer, ügyeltem mindenhol a helyes behelyezésre, forrasztásra.

A problémám az, hogy amikor rádugom az USB portra nem történik semmi. Win 7 fut a gépen. Se új hardver, semmi. Persze egyből kihúztam, nehogy gáz legyen.

Átnéztem még 15x, rádugtam egy XP-s gépre, de ott sincs semmi.

Előfordulhat, hogy nincs felprogramozva a processzor?

Mi lehet a gond?

Köszi előre is.
(#) gtk válasza labu01wx hozzászólására (») Feb 8, 2010 /
 
A Timer_1 mehet kulso orajelrol, a T1 labrol.
A Timer_2 kulso orakvarccal (32768_Hz).
Mindez fuggetlenul a belso orajelforrastol.
(#) csiktor válasza csiktor hozzászólására (») Feb 8, 2010 /
 
Megoldódott. A Hestoreból rendelt USB kábel nem volt jó. Szereztem egy másikat, ezzel ok.
(#) ixel hozzászólása Feb 9, 2010 /
 
Sziasztok!

Egy kezdőkérdése:
Hol kell azt beállítani, hogy külső kvarcról működjön az AVR?
Összeraktam egy led villogót Attiny2313 -al és bekötöttem egy 8Más kvarcot is a két kondival. Azt tapasztalom, hogy kvarc nélkül is működik, tehát a belső osszcillátorról mehet. A PonyProg a következőt olvasta ki, amihhez nem nyúltam.

fuse.GIF
    
(#) gtk válasza ixel hozzászólására (») Feb 9, 2010 /
 
Ez sokat segithet, es kizarhatja a tevedeseket.
>>Fuse calc (ujra)<<
Viszont ha nem tudod pontosan mit miert, akkor inkabb hagyd, mert pl. letilthatod az ISP-t es nem fogod tudni programozni. A PonyProg-gal kulonosen vigyazz, azt hiszem forditva jeloli (??) a fuse bit beallitasokat.(programmed, unprogrammed).
(#) ixel válasza gtk hozzászólására (») Feb 9, 2010 /
 
Köszi gtk!

STK-200-al programozok, mit ajánlasz a PonyProg helyett?
(#) gtk válasza ixel hozzászólására (») Feb 9, 2010 /
 
Nem merem allitani hogy "helyett", csak szoltam, hogy erdemes odafigyelni hogyan kezeli a fuse-okat.
Egy hasznalhato program a WinAVR. Ez avr-gcc-t es avrdude-t hasznal. Ezek kulon-kulon a keret nelkul is hasznalhatoak.
(#) ixel válasza gtk hozzászólására (») Feb 9, 2010 /
 
Programot irni az AVR studiót használgatom amibe be van integrálódva a WINAVR de az stk-200-at nem látja.

avrstud.JPG
    
(#) gtk válasza ixel hozzászólására (») Feb 9, 2010 /
 
A WinAVR -el elmeletileg felment az avrdude is. Nezd meg parancssorba, vagy az exe fileok kozott. Konnyu parameterezni, es pl. consolbol hasznalni.
Következő: »»   184 / 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