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   465 / 840
(#) Brian88 hozzászólása Aug 6, 2012 /
 
Sziasztok
Lenne egy oyan kérdésem. Usbasp programozoval szeretnék egy Spi flash rom irni. Tipus: w25q32
De egyenlore nem jartam sikerrel. Lehet rossz a rom... Lehetseges egyáltalán ezzel irni? A szoftver progisp, az elvvileg tudja irni. Ki lehet benne manuálisan kiválasztani a romot.
(#) zombee válasza Brian88 hozzászólására (») Aug 6, 2012 /
 
/cs vonalra lehet hogy kell a felhúzó ellenállás.
(#) blackdog hozzászólása Aug 6, 2012 /
 
Sziasztok!

Hadd kérdezzek még RS232 és RS485 ügyben.
Addig már eljutottam, hogy külön-külön tudom használni/tervezni. De most a kettő házasságára lenne szükségem.
A jelenlegi helyzet, hogy az AVR-ek RS485-ön kommunikálnak oly módon, hogy van egy Master vezérlő és néhány Slave.
A Master-t szeretném kiegészíteni RS232 csatlakozóval, hogy alkalmanként számítógépet köthessek rá és tudjam programozni/ellenőrizni a ki és bemenetek állapotát. Ebben kérném a segítségetek.
(#) blackdog válasza blackdog hozzászólására (») Aug 6, 2012 /
 
Mellékeltem, hogy eddig mit okoskodtam össze. Nem tudom hogyan hozzam össze a két SN75176 IC-t és, hogy eddig ez jó-e.
Ugye az alapfelállás RS485 esetén, hogy Master kérdez/utasít Slave válaszol/végrehajt.
Csak ebben az esetben az RS232 keresztül látni kellene az állapotokat és beavatkozni, ha kell.
Ezek szerint RS232 átalakítást is Slave-nek kell tekinteni és állandóan kérdezgetni, hogy mi a helyzet?

rs232-485.JPG
    
(#) lalus hozzászólása Aug 6, 2012 /
 
Szevasztok!

ismét kérdéssel fordulok hozzátok... Gondoltam ha már megépítem ezt az akksi töltőt jó lenne ha fel is tudnám programozni az AVR-em... tehát nem tudtok ajánlani valami jó kis kapcsolást egy tök egyszerű programozóhoz ami ismeri az Attiny13-as AVR-t?

jó lenne ha nem tartalmazna már programozott AVR-t mert ha tudnék hozzá programozni akkor nyilván nem kéne... és előny ha soros vagy LTP-portos!!

valaki valamit?
(#) lalus válasza lalus hozzászólására (») Aug 6, 2012 /
 
Jajj és még valami. ami talán most a legfontosabb számomra....

a leírás említi a töltőnél, hogy szűrt 5V-ra van szüksége...
namármost én egy 12V-os adapterről szeretném üzemelteni és azt az 5 voltot is arról lenne jó megoldani, ezt hogy tehetném meg a legkönnyebben és a lényeg, hogy miképp kell megszűrni?
(#) Brian88 válasza lalus hozzászólására (») Aug 6, 2012 /
 
Szia

Programozó: Stk200

Eléggé egyszerű darab, a fenti tökéletesen teszi a dolgát.

12V-ből 5V leg egyszerűbben 7805 IC-vel
7805

A második kondi helyére rakj nagyobbat pl:1000uF
Max: 1A terhelhető!!!
(#) lalus válasza Brian88 hozzászólására (») Aug 6, 2012 /
 
Köszi a választ, ez máris nagy előrelépés számomra!!

viszont még kérdeznék.. (bocsánat a sok kérdésért)

nos az STK200-nál mindkettő darabra szükségem lesz, vagy ez két variáns?? az a tökegyszerű felső is megfelelne nekem a tiny13-as hoz? és tudsz valami szoftvert hozzá esetleg?

a rajzon meg van egy 7805-ös... az ő out-ján jön ki az 5 volt?? és nem kell nekem ehhez más csak a 12V betáp? vagy külön kell csinálnom még egy 7805-ös kapcsolást hozzá? én így laikus szemmel az előbbire tippelek, jól sejtem? és miért kell nagyobb kondi? az szűri?
(#) sgt válasza Robi98 hozzászólására (») Aug 6, 2012 /
 
Wazzeg, nem akarod még jobban megbonyolítani? Nekem lenne még egy két ötletem , mert állapot gép nincs benne.

  1. #define F_CPU 1000000UL
  2. #include <avr/io.h>
  3. #include <util/delay.h>
  4.      
  5. int main(void)
  6. {
  7. DDRD = (1<<PD5);
  8. PORTB = (1<<PB6);
  9.    
  10. while(1)
  11. {
  12. if(!(PINB & (1<<PB6)))
  13. {
  14. PORTD^=(1<<PD5);
  15. _delay_ms(500);
  16. _delay_ms(500);
  17. }
  18. }
  19. }
(#) mzozo95 hozzászólása Aug 7, 2012 / 1
 
Hi!
Sokat kérdezősködtem ebben a témában egy hexabotos projektemhez, itt az eredménye, ha valakit érdekelne:
videó
(#) trudnai válasza sgt hozzászólására (») Aug 7, 2012 /
 
En valahogy igy csinalnam (nem probaltam ki, csak ha mar itt tartunk)

  1. #define F_CPU 1000000UL
  2. #include <avr/io.h>
  3. #include <util/delay.h>
  4.  
  5. int main(void)
  6. {
  7.     DDRD = (1<<PD5);
  8.     PORTB = (1<<PB6);
  9.  
  10.     while(1)
  11.     {
  12.         // varunk a gomb megnyomasara
  13.         if( ! (PINB & (1<<PB6)) )
  14.         {
  15.             // kis trukk sbi PIND, PD5 -re (magyaran a PORTD,5 atbillentesere...)
  16.             PIND |= (1<<PD5);
  17.  
  18.             // legegyszerubb szoftveres perges mentesites lenyomasra
  19.             _delay_ms(20);
  20.  
  21.             while( ! (PINB & (1<<PB6)) ) {
  22.                 // szuk ciklusban varjuk a gomb elengedeset
  23.             }
  24.  
  25.             // legegyszerubb szoftveres perges mentesites felengedes utanra
  26.             _delay_ms(20);
  27.         }
  28.     }
  29. }
(#) solti_imre hozzászólása Aug 7, 2012 /
 
Sziasztok!

Egy abszolut alapfokú kérdésem lenne: Hogyan lehet egy 8 bites változó tetszőleges bitjének az állapotát Bascomból lekérdezni? (Maszkolással és értékfigyeléssel tudom hogy megoldható, de érdekelne, van-e valamilyen egyszerűbb megoldás)
(#) Brian88 válasza lalus hozzászólására (») Aug 7, 2012 /
 
Igen az két variáns. Az egyszerubbik tokeetesen mukodik. Egeto szoftverbol sok varians van. En progisp 1.72 hasznalok. De winavr vagy bascom is jo. 7805 az in bemenetere kell a 12v de egyeniranyitott legyen. Tehat DC 12v kell neki. Out jon majd ki az 5v es a kondi lessz a szures.
(#) TavIR-AVR válasza solti_imre hozzászólására (») Aug 7, 2012 /
 
if valtozo.bit =1 then...
(#) solti_imre válasza TavIR-AVR hozzászólására (») Aug 7, 2012 /
 
Köszönöm!! (Az IF utasítás leírásában nem is kerestem, mindenáron a BITS környékén kapirgáltam - hiába, a Z80...)
(#) blackdog hozzászólása Aug 7, 2012 /
 
Sziasztok!

Inkább kérdezek mint, hogy tönkretegyem az AVR-t.
Én eddig az ADC lábakat csak valóban analóg-digitál átalakításra használtam.
De ugye ezek használhatóak 'normál' digitális I/O lábként is? 8db ADC lábból 3 kell átalakításra a többi digitális kimenet lenne.
(#) lalus válasza Brian88 hozzászólására (») Aug 7, 2012 /
 
Köszi a válaszokat Brian, te voltál az én emberem!! amint ráérek ki is próbálom azt az égetőt, és ha jó akkor összedobom a töltőt, mégegyszer köszi! majd közzéteszem itt ha sikeres volt a projekt....
(#) TavIR-AVR válasza blackdog hozzászólására (») Aug 7, 2012 /
 
Igen. A 3-at amit digit kimenetnek akarsz, kimenetre állítod.
Ami bemenetre, azt bemenetként hagyod.

Tipp: Tiny13/25 stb, ahol az ADC ott van a reset lábon: megy ADCként is, csak ne ess bele reset meghúzási tartományába
5V táp esetén 4-5V közt _mérhetsz_ a lábon, míg kb. 3.5V alatt RESET-re húzza az AVR-t .
(#) hedgehoge hozzászólása Aug 7, 2012 /
 
Sziasztok!
szerintetek jó a Atmega 8515-16PUhoz a következő programozóBővebben: Link?
(#) TavIR-AVR válasza hedgehoge hozzászólására (») Aug 7, 2012 /
 
Ha jó az AVRDoper/AVRASP neked a normális USB-portosak helyett, akkor igen. A bosszúság és az inkompatibilitások miatt nem szeretem. Doper esetén nem szeretem kikapcsolni a Win7x64-en a driver aláírásellenőrzést. Nem véletlen van az ott.

Viszont a csatlakozón tetszik, hogy az ISP6 és az ISP10 is kialakításra került...


Amúgy ha megbírkózolk a kezdeti szívásokkal programozó oldalról, akkora célzott chipeddel menni fog a progamozás.
(#) TavIR-AVR válasza hedgehoge hozzászólására (») Aug 7, 2012 /
 
Ha most kezdesz tanulni, akkor NE a 85x5 családdal kezdj. ATMega8 vagy ATMega16/32 DIP tokban, vagy SMD esetén a Mega128 javasolt...

Ha kinövöd a 85x5 chipet NINCS nagyobb memóriás változat belőle. És 8k az nem olyan nagyon sok, ha a programod komplexebb kezd lenni.

Mega16 esetén Mega1284-ig mehetsz fel (16k->128k), míg ATMega128 esetén a Mega1281/2561 is kitörési pont (128k->128k/256k program-memória)
(#) TavIR-AVR válasza hedgehoge hozzászólására (») Aug 7, 2012 /
 
USBasp a programozó.
http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=21321

Nem javasolt kategória
(#) zombee válasza hedgehoge hozzászólására (») Aug 7, 2012 /
 
USBASP-t nem ajánlom, nagyon inkompítíbilis mindennel.
Akkor inkább egy Doper, vagy teszel hozzá kicsit
és rendes STK500-ad lehet!

ATMega8515-be sem ajánlott beleugrani(kivéve ha már megvan és hegesztenél).
Ezt azért mondom mert a "sorozat" egyetlen, még élő tagja, nincs hová bővíteni,
nem lábkompatíbilis a többi DIP-40 tokozású típussal sem, és drága is, talán már nem is gyártják.
(#) zombee válasza TavIR-AVR hozzászólására (») Aug 7, 2012 /
 
Doper+Win7: nem kell aláírásellenőrzéssel babrálni; normális driver kell neki, meg egy kis adag türelem.
(#) lalus válasza Brian88 hozzászólására (») Aug 7, 2012 /
 
hy!
Na megint falba ütköztem.... Ezt írja amikor WinAVR-be programozni akarok:

  1. > "make.exe" program
  2. avrdude -p attiny13 -P lpt1 -c stk200    -U flash:w:main.hex
  3. avrdude: can't open device "giveio"
  4.  
  5. avrdude: failed to open parallel port "lpt1"
  6.  
  7. make.exe: *** [program] Error 1
  8.  
  9. > Process Exit Code: 2
  10. > Time Taken: 00:00


A WinAVR leírását innen szedtem...: Bővebben: Link

Egyáltalán látni valahonnan, hogy felismere a programozóm? vagy valami?
(#) TavIR-AVR válasza lalus hozzászólására (») Aug 7, 2012 /
 
Az AVRDude előtt el kell indítanod a giveIO eszközkezelőt. Sőt, ez azt hiszem driverként/rendszerhívásként is be kell hogy épüljön.
És csak utána látsz ki a LPT porton

A Win el nem tudja képzelni, hogy a LPT/printer/ porton a nyomtatón kívül más eszköz is lehet!
(#) lalus válasza TavIR-AVR hozzászólására (») Aug 7, 2012 /
 
Hát köszi a választ... ebből naggyából csak a smile-kat értem...)) Hogyan tudom elindítani a giveio-t? am 64-bites Win7 van ha ez számít valamit...
(#) TavIR-AVR válasza lalus hozzászólására (») Aug 7, 2012 /
 
Az AVRDUDE-hez van egy batch file. Elvileg az indítja el...
(#) lalus hozzászólása Aug 8, 2012 /
 
ahha... hát nemtom ez nem igazán megy..
a WinAVR-ben is van egy install giveio.bat.... bele is tette a giveio.sys-t a windows könyvtárba, nemtom mit lehetne még tenni mert ugyanaz a hiba hogy nem találja azt lpt portot....
(#) Brian88 válasza lalus hozzászólására (») Aug 8, 2012 /
 
Szia
ha a fordito elkeszitette a Hex kiteresztesu fajlt. Akkor a progisp 1.72 mar ra lehet tolteni avr-re. En is win7 hasznalok gond nelkul megy. Nekem meg drivert sem kellet teepiteni. Amugy giveio a winavr mappaban'' jobb gomb: 'futtatas rebdszergazda'' kent kell inditani.
Következő: »»   465 / 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