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   296 / 840
(#) Fizikus válasza kala1982a hozzászólására (») Jan 6, 2011 /
 
Azt hiszem Tomi_Bp hasznalt 3310-es LCD kijelzot AVR-rel.
(#) trudnai válasza kala1982a hozzászólására (») Jan 6, 2011 /
 
Idézet:
„programozáshoz (feltöltéshez(attiny2313)) külső oszcillátorra szükség van?”


Ez a konfiguracios beallitasoktol fugg. Van olyan beallitas, amihez kell, de a gyarbol ugy jon ki, hogy nem kell. Viszont gyakori eset, hogy kezdok (es ritkabban, de haladok is) veletlen rossz konfiguraciot toltenek fel ami utan mar kell kulso oszcillator -- ezt ugy szoktak emlegetni, hogy "kizartam magam az AVR-bol". Mas modja is van a kizarasnak, lenyeg, hogy mielott felprogramozod az AVR-t, nezd vegig a konfigot, es gyozodj meg rola, hogyminden reszet erted mi mire valo...
(#) Steven19 válasza kala1982a hozzászólására (») Jan 6, 2011 /
 
Helló. Én próbálkoztam vele épp most van egy ilyen kijelzővel hőmérőm analóg szenzorral (LM35).
Proci ATmega8
(#) idlob válasza David.zsombor hozzászólására (») Jan 6, 2011 /
 
A legtöbb C-s könyvet akkor írták, amikor az MS-DOS még aktívan élt a köztudatban, így nem érezték szükségét kitérni a futtatás mikéntjeire.
A pause gombnyomásra vár. Tehát ha van pl. egy scanf előtt egy pause, akkor előbb meg kell nyomnod egy tetszőleges gombot, majd utána amit a scanf-nek akarsz átadni azt kell begépelned. De a scanf amúgy is vár az eneter leütésére, így nem is kell elé pause. Ilyen formában tehát nem zavar, nem tudom, erre gondoltál-e?
(#) kala1982a válasza trudnai hozzászólására (») Jan 6, 2011 /
 
Masterfoxx féle hőmérőhöz akkor használhatom a belsőt is simán... Ma jöttek meg az alkatrészek most csinálom majd a panelokat, ha minden jó lesz holnap délutánra lesz egy AVR-es hőmérőm

Thx
(#) kala1982a válasza Steven19 hozzászólására (») Jan 6, 2011 /
 
Szia Steven19, dokumentációd nincs róla, hogy hogyan kell az ilyen LCD-ket beállítani a bascom-ban? Gondolok itt arra, hogy pl a karakteres 2x16-ost ki kell pl választani.

Találtam leírásokat, kapcsolásokat, de kódrészletet meg nem. Ennek még jobban utánna kell néznem, persze a philips pdf lesz az utolsó Túl sok ismeretlen angol szó van benne...

Valaki meg tudná nekem mondani, hogy az alábbi képen lévő kapcsolási rajz működik simán vagy ahogyan berajzoltam úgy még kell adni neki +5 voltot? 74Hc244-es ic a tápot így nem kap... :S

Egy másik kereszt kérdésem lenne még, alapvető , de nem foglalkoztam még ennyire az AVR-el: több eszközt tehetek ugyanarra a portra párhuzamosan csak a CS-lábakat kell különbözőre tennem és akkor amelyiket kiválasztom a CS-vel akkor arról írok/olvasok?


/az LM35 link 350-es stab ic-re mutat. Én is LM35-el akarok hőmérőt építeni/

Image.jpg
    
(#) David.zsombor válasza idlob hozzászólására (») Jan 6, 2011 /
 
igen értem főleg hogy azóta már haladtam is egy kicsit
(#) Steven19 válasza kala1982a hozzászólására (») Jan 6, 2011 /
 
Sajnos Bascomhoz semmit nem konyítok, de az AVR studiot kedvelem jobban.
(#) Steven19 válasza kala1982a hozzászólására (») Jan 6, 2011 /
 
Igen a rajzon a tápot a céláramkörből kapja egy soros diódán keresztül ami a fordított tápfesz ellen is védi azt.
(#) kala1982a válasza Steven19 hozzászólására (») Jan 7, 2011 /
 
Igen már látom, a paneleket csinálom rájöttem
(#) koczka hozzászólása Jan 7, 2011 /
 
Üdv.

Tudnátok-e nékem olyan programozót ajánlani amivel ATmega8-ast lehet programozni, olcsó legyen és egyszerű.
(#) kiborg válasza koczka hozzászólására (») Jan 7, 2011 /
 
Szia!
Igen tudunk ajánlani. De nem teszem meg. Itt a fórumban elég sok típus van. Használd a keresőt, nem véletlen van. Sőőt, a google is tud ebben segíteni.
Kiborg
(#) TavIR-AVR válasza koczka hozzászólására (») Jan 7, 2011 /
 
Kölcsön STK500 a szomszédból?

Mi az az olcsó? Kinek mi az egyszerű?


Super Low Cost Programmer for AVR a kulcsszó. pl itt:
stk200 super low cost
(#) hahohoh112 hozzászólása Jan 7, 2011 /
 
Üdv!
Segítséget szeretnék kérni, egy alkonykapcsolót kellene megvalósítanom mikrovezérlővel (atmega8)! eagleben kellene összeállítani a kapcsolást csak nem igazán tudom hogy mit hova kell kötni és ebbben szeretném ha segítenétek.
előre is köszi

untitled.sch
    
(#) bleeez hozzászólása Jan 7, 2011 /
 
Atmel 8051-esek programozásában tudtok segíteni? Elsősorban AT89C52-es érdekelne. (fejlesztő + letöltő progi + programozó) Köszi.
(#) Fizzy hozzászólása Jan 8, 2011 /
 
Sziasztok!

A fórumon található Nyolc lábbal 1. fejezetében megírt Egyszerű villogó kódját próbáltam ki egy Attiny45-ön.
Kód:
  1. #include <avr/io.h>
  2. #include <util/delay.h>
  3.  
  4.  
  5.  
  6. //-------------------------------------
  7.  
  8. void m_delay_10ms(unsigned char val) {
  9.  
  10. //-------------------------------------
  11.  
  12. //a _delay_ms max 65.535 ms-et képes sleepelni,
  13.  
  14. // tehát nagyobb időzítést többől lehet "összerakni"
  15.  
  16.          unsigned char i;
  17.  
  18.          for(i=0;i<val;i++) {
  19.  
  20.              _delay_ms(10);
  21.  
  22.          }
  23.  
  24. }
  25.  
  26.      
  27.  
  28. //-------------------------------------
  29.  
  30. int main(void) {
  31.  
  32. //-------------------------------------
  33.  
  34.          DDRB = (1<<PINB3)|(1<<PINB4); //csak a PB3 és a PB4 kimenet
  35.  
  36.          PORTB = (1<<PINB3);    //egyiket bekapcsol
  37.  
  38.          while(1) {
  39.  
  40.              if(PORTB & (1<<PINB3)) PORTB &= ~(1<<PINB3);
  41.  
  42.                                else PORTB |=  (1<<PINB3);
  43.  
  44.              if(PORTB & (1<<PINB4)) PORTB &= ~(1<<PINB4);
  45.  
  46.                                else PORTB |=  (1<<PINB4);
  47.  
  48.              m_delay_10ms(1000); //10010ms = 1s
  49.  
  50.          }
  51.  
  52.          return 0;
  53.  
  54. }


m_delay(100) volt alapból de nagyon gyorsan (kb 10ms-ként villan a led, 1000-el már lassabb de még így is gyorsabb mint 1 mp.

Egyszer már megcsináltam ezt a kapcsolást, akkor jó volt, azóta nem csináltam semmit vele O.o

Mi okozhatja ezt?

Válaszotokat előre is köszönöm!
Üdv, Fizzy
(#) Fizzy válasza Fizzy hozzászólására (») Jan 8, 2011 /
 
Megoldódott a problémám!
A megoldás:
  1. #ifndef F_CPU
  2.     #define F_CPU 8000000
  3. #endif


Pedig azt hittem ez nem szükséges, ha az elején a jó processzort választom ki a projekt beállításoknál.

Üdv, Fizzy
(#) kovacsj válasza Fizzy hozzászólására (») Jan 8, 2011 /
 
Én arra lennék kíváncsi, hogy miért 1 sec a 10.000 x 10^(-3) sec.

Bárhogy is számolom, nekem ez 10 mp-re jön ki.

Az AVR másképp számol?

Komolyan jó lenne tudni, mert kezdőként akár nekem is problémát okozhat.
(#) trudnai válasza kovacsj hozzászólására (») Jan 8, 2011 /
 
Irta, hogy eredetileg 100x hivta meg az m_delay_10ms()-t, csak kiserletezesbol emelte meg ezerre...
(#) kovacsj válasza trudnai hozzászólására (») Jan 8, 2011 /
 
Lehet. Engem azonban ez zavart meg:

Idézet:

m_delay_10ms(1000); //10010ms = 1s

_delay(100) volt alapból de nagyon gyorsan (kb 10ms-ként villan a led, 1000-el már lassabb de még így is gyorsabb mint 1 mp.
(#) gabi20 hozzászólása Jan 8, 2011 /
 
Sziasztok azt valaki meg tudná mondani hogy az AVR - ben miért nem lehet használni r0 - r15 regisztereket?
(#) Reggie válasza gabi20 hozzászólására (») Jan 8, 2011 /
 
Marpedig lehet.
(#) kovacsj válasza gabi20 hozzászólására (») Jan 8, 2011 /
 
Azt mondja az adatlap is.

Idézet:

Most of the instructions operating on the Register File have direct access to all registers, and
most of them are single cycle instructions.
(#) HDD hozzászólása Jan 8, 2011 /
 
Sziasztok
Azt szeretném meg kérdezni, hogy tudom be alítani a fusebit beállításoknál a külső kvarc beálltást
Most a PonyProg2000 használom, ezen szeretném beállítani
(#) Beachway hozzászólása Jan 9, 2011 /
 
Üdvözlök mindenkit! Segítséget szeretnék kérni a ponyprog fuse beállításához. A Topi féle AVR programozót szeretném felprogramozni. Az alábbiakhoz tennék pipát: CKSEL0, WTDON, BOOT1, BOOT0, SUT0, SUT1, CKOPT. Minden segítséget előre is köszönök!
(#) (Felhasználó 56240) válasza Beachway hozzászólására (») Jan 9, 2011 /
 
Amikor én csináltam a Dopert így alítottam be
A Configurations and Security bits-nél a SUT0 kipipáltam ki csak
Most lettem kész néhány napja én is vele
Tökéletesen működik
(#) Beachway válasza HDD hozzászólására (») Jan 9, 2011 /
 
Én nagyon kezdő vagyok a témában. A fejlécen lévő kis lakatnál tudod a fuse biteket beállítani a ponyprognál. A CKSEL0 (külső kristály és rezonátor)-hoz kellene raknod egy pipát. De sok más dolgot is be lehet, kell állítani ott ezen kívül!
(#) Beachway válasza (Felhasználó 56240) hozzászólására (») Jan 9, 2011 /
 
Akkor gratulálok! Az enyém még nem jó. Az órajel forrását sem választottad ki? Ez meglep.
(#) (Felhasználó 56240) válasza Beachway hozzászólására (») Jan 9, 2011 /
 
Szia
Most hogy mondod tényleg csak azt alítottam be
De én nem vágom ezt még én is olvastam, valahol de nem emlékszem, hogy hol
Következő: »»   296 / 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