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   233 / 840
(#) Ideiglenes válasza Teng hozzászólására (») Jún 5, 2010 /
 
(#) Teng válasza Ideiglenes hozzászólására (») Jún 5, 2010 /
 
Egy ellenállás és egy kondi van csak a 74LS244N-en kívül benne ami lényeges, tehát sajnos. Az a bibi ezt nyomtattam csak ki az oldalról, mert ez alapján volt a legkönnyebb megépítenem. De mint mondtam módosítottam 1-2 dolgot viszont ahhoz, hogy rájöjjek arra mi, hogy van az enyémbe, az eredeti oldalt kellene megtalálnom. Ezért is gondoltam, hogy valakinek hátha beugrik innen és az eltelt 3 napom után megspórolok még pár napot..
(#) abcdabcd válasza Teng hozzászólására (») Jún 6, 2010 /
 
De mi az az egy két dolog amit módosítottál? Mert pl itt válaszolva neked valaki az előbb linkelt egy égetőt nézd meg hogy az isp-n lévő jeleket ő a printer port hányas lábára köti... és így mi lenne nehéz annak a beazonosításában, hogy a te programozódon melyik vezeték hova van kötve? feltéve, ha ugyanilyen bekötésű égetőt építettél... mármint a printer porton használt lábak tekintetében...
(#) Reggie válasza atya1 hozzászólására (») Jún 6, 2010 /
 
kezdetnek tanulj 8051-et. onnan mar konnyu atnyergelni.

Van hozza konyv is.

PIC-hez meg vedd meg a PIC mikrovezerlok alkalmazastechnikaja cimu konyvet
(#) Tomi_Bp válasza TavIR-AVR hozzászólására (») Jún 6, 2010 /
 
Eddig még sosem állítottam fuse biteket, nem véletelenül. 1. Mert félek, hogy kizárom magam az AVR-emből. 2.Mert még nem találtam olyan leírást róla, ami mindenkinek bejött. Picit félek, de akkor majd neki vágok. Én SP12-vel töltök fel hex-et, amit WinAVR és AVR Studio 4 segítségével készítek. Milyen progit ajánlotok a fuse bitek állítgatásához, amivel a legkisebb a veszélye, a kizárkózásomnak?
(#) TavIR-AVR válasza Tomi_Bp hozzászólására (») Jún 6, 2010 /
 
Bascom, AVRStudio vagy AVR8OMat keret AVRDUDE-val....

Ezek szovegesen mondjak meg a biztositekbiteket...

STK500, avrstudio


Bascom mint programozó és a biztosítékbitek...


PonyProg illetve sorosporti (lopott aramos) programozot felejtsd el! Sok halott IC lehet...


Programozaskor az elso lepes a Chip ID kiolvasa legyen,. Csak ha ez megy utana szabad programozni barmit!

Elso egetes a flash/eeprom legyen . Ha a programozo ezt elrontja max torlod a chipet. Ha a Fusebiteket rontod, akkor a chip tetszhalott lehet...
(#) Tomi_Bp válasza TavIR-AVR hozzászólására (») Jún 6, 2010 /
 
De akkor legalább nem érzem hiábavalónak a félelmemet ezzel kapcsolatban... Nincs STK500-am. A programozóm konkrétan egy 25 pines csati, egy 5 eres szalagkábel és egy 6 pines csati (RESET;NC;MOSI;MISO;SCK;GND). Akkor még gondolkozom, hogy hogyan vágjak neki... Köszi a segítséget!
(#) Ideiglenes válasza Teng hozzászólására (») Jún 6, 2010 /
 
Vagyok olyan rendes és megmondom az első kilenc láb funkcióját.

1 - MOSI
2 - VCC
3 - LED
4 - GND
5 - RESET
6 - GND
7 - SCK
8 - GND
9 - MISO

A tizediket meghagyom neked, hogy kitaláld.
Persze azt nem érdemled meg, úgyhogy nem is árulom el, milyen eltérést találtam a gyári rajz és az általad beszkennelt között. És itt most nem a Zener + 1n4148 és a 100Ohm alkatrészekre gondolok, mert ezek csak szépítések.
Tessék összehasonlítani a rajzokat! Nekem kb 5 perc alatt megvolt. Ha három napot nem sajnáltál az kompjúter előtt tölteni, hát meghagyom neked a lehetőséget, hogy magadtól rájöjj, mit rontottál el.
(#) Teng válasza Ideiglenes hozzászólására (») Jún 6, 2010 /
 
Köszönöm, ezzel is előrébb vagyok, bár nem ezt kerestem, mert az isp dugóról van egy rakat programozó lementve a gépemre, én az általam linkelt kép forrását kerestem de ez is haladás

AVR DRAGON-t lehet használni Bascom-ba valamilyen úton módon? Ha igen valaki leírhaná hogy, mert könnyebb számomra azt használni mint az avr studiót...
(#) Teng válasza Teng hozzászólására (») Jún 6, 2010 /
 
Sikerült megtalálnom egy másik doksit 3 nap után a gépemen ami így néz ki ez volt a forrás már csak azt nem tudom ezt honnan a fenéből szedtem, mert innen a fórumról adta valaki, de hogy kicsoda nem tudom Ha esetleg valaki tudja honnan származik kérem írja meg.

Másik kérdésem pedig:

AVR DRAGON-t lehet használni Bascom-ba valamilyen úton módon? Ha igen valaki leírhaná hogy, mert könnyebb számomra azt használni mint az avr studiót...
(#) denon888 válasza Hp41C hozzászólására (») Jún 6, 2010 /
 
Köszi, de ilyeneket Én is találtam.
(#) trudnai válasza denon888 hozzászólására (») Jún 6, 2010 /
 
Ahelyett ilyen csunyan valaszolnal, probaldd megfogalmazni mit is szeretnel. Ugyanis eddig azt kerdezted, hogy mitevo legyel a BIN-nel, ha nem HEX. Hp41C erre ajanlott egy HEX atalakitot amivel mar nyilvan nem lenne gondod, ha egyszer atalakitottad HEX-be, erre egy ilyen flegma valaszt adsz.

Mit szeretnel?
(#) denon888 válasza trudnai hozzászólására (») Jún 6, 2010 /
 
Nem tudom mi volt ebben a csúnya.
(#) trudnai válasza denon888 hozzászólására (») Jún 6, 2010 / 1
 
Idézet:
„Köszi, de ilyeneket Én is találtam.”


Ez kb azt jelenti, hogy "primitiv valaszt adtal". A kommunikacioban nem csak a szavak egyenes jelentese adja a kozolni valot... (arrol mar nem is beszelve, hogy az 'en' nagy betuvel all, ami a Magyarban eleg udvariatlan)
(#) denon888 válasza trudnai hozzászólására (») Jún 6, 2010 /
 
Én a magam részéről ezt a vitát lezártam. Ha esetleg szeretnéd folytatni, megadom az elérhetőségem privátban.

És még valami. Próbálj meg "é" "ü" "á" stb. betűket használni. Úgy ahogy a helyesírás megkívánja.

Bocsánat az OFF -ért.
(#) zombee hozzászólása Jún 7, 2010 /
 
Sziasztok!

Valaki felvetette, hogy az ATMega128L kontrollerét szeretné 14MHz-en járatni, miközben a hivatalos adatlapban 8MHz a felső határ.

A mikrokontroller tuningolók számára jó hír lehet, hogy több MHz-el is túl lehet lépni a hivatalosan megadott határfrekvenciát. Én pl. az ATMega8L-8AU kontrollereket 12MHz-es frekvencián járatom.
A VGA vezérlőm magját adó ATMega48 pl. 25MHz-ről is kitűnő egészségnek örvend, de az ATMega8-16PU csak 20MHz-et bírt ki újraindulgatás nélkül(eredetileg 16MHz-es),

Egy külföldi fórumon pedig azt olvastam, hogy az ilyen kontrollerek 5.5V-os feszültség mellett 16-18MHz-en is stabilan működnek.

Szinte biztos vagyok benne, hogy az ATMega128L 5V-os feszültség mellett meg fog birkózni a 14MHz-el.
Próbálkozni lehet, ha nem megy akkor eladod.

Valaki más olyat kérdezett, hogy a kvarc lábainál a terheő kondi elhagyható-e.
Erre az a válaszom: NEM NEM NEM!
Nekem eddig semmi nem működött kondi nélkül, és ha mégis működne akkor a frekvencia nem lenne stabil, vagy a kvarc valamely felharmonikusán rezegne be ami általában a kontroller VALÓDI határfrekvenciája fölött van...
(#) tibibalogh520 válasza Tomi_Bp hozzászólására (») Jún 7, 2010 /
 
Szia!
A te programozód, az STK200 puffereletlen változata.
Bascomból tudod használni!
Építsd meg a pufferelt változatát (sokkal stabilabb) mindössze egy IC, és néhány ellenállással kell kiegészíteni a -már úgyis meglévő- két csatlakozódat.
Bővebben: Link
(#) zombee válasza tibibalogh520 hozzászólására (») Jún 7, 2010 /
 
Néha előveszem a jó öreg nyomtatókábeles programozót, amiben nemhogy IC, de még ellenállás sincsen, max a LED-nek a csatlakozónál.

Bármennyire hihetetlen, breadboardon tápfesz nélkül felprogizza az AVR-eket! Gondolom az SCK-ból veszi a parazita feszültséget.
Így még nem csesztem el kontrollert vele, a siker 95% fölötti, aminél meg nem ment az újrázás után jó lett.

Ahol meg kapott tápfeszt, a 3 méteres kábel mellett (sokszor egy plusz 4 méteres toldóval) is 100% volt PonyProg-al!
(#) Axel hozzászólása Jún 7, 2010 /
 
Sziasztok!

Azt szeretném megkérdezni, hogy létezik-e hatékonyabb megoldás a kapcsolók szoftveres pergésmentesítésére a késleltetéseken kívül? Ha igen milyen?

Köszönöm!
(#) zombee válasza Axel hozzászólására (») Jún 7, 2010 /
 
Hello!

Késleltetés nélkül ne akarj pergésmentesíteni, főleg kétállású kapcsolót nem! Gondolj bele hogy bár összekapcsol, te épphogy hozzáérsz a kapcsolóhoz máris kikapcsolásnak veszi a kontroller ha nem késleltetsz!

Egyszerűbb ha ugyanazt a nyomógombot használod ki/bekapcsolásra, vagy egy nyomógombbal kényszeríted ki a kapcsoló beolvasását.
Nyomógombot pofonegyszerű késleltétés nélkül pergésmentesíteni ha csak lenyomást(és nem nyomva tartást) akarod érzékelni.
(#) Axel válasza zombee hozzászólására (») Jún 7, 2010 /
 
Hello!

Én így próbáltam megoldani a pergésmentesítést a kódomban:
  1. if(!(PINB & (1<<PB3))){
  2. _delay_ms (200);//megvárjuk a pergést
  3. .//az if törzse
  4. .}

Ez így jó nagyjából? Egyébként csak a megnyomást akarnám érzékelni, a nyomva tartást nem. A schmitt triggeres megoldásra gondoltál ez esetben?
(#) Teng hozzászólása Jún 7, 2010 /
 
AVR DRAGON-t lehet használni Bascom-ba valamilyen úton módon? Ha igen valaki leírhaná hogy, mert könnyebb számomra azt használni mint az avr studiót...
(#) Ideiglenes válasza Axel hozzászólására (») Jún 7, 2010 /
 
A késleltetésnél jobb megoldás, hogy ha számlálót alkalmazol.

Az adott bementet többször letapogatod és ha a beolvasott érték magas, akkor növeled a bementedhez rendelt számlálót, ha meg alacsony, akkor meg csökkented. Figyelni kell arra, hogy a maximumnál illetve minimumnál ne forduljon át a számláló.

A kiértékelésnél megadsz két határszintet. Ha a számlálód a felső határnál nagyobb, akkor feltételezhető, hogy magas szintre kapcsolták, ha a számláló az alsó határérték alá csökken, akkor pedig már alacsony szinten van.

Ezzel a megoldással jelentősen csökkenthető a bemenet zavarérzékenysége, amit a késleltős megoldással nem sikerült kiküszöbölnöm. További előny, hogy nem kell a program futását felfüggeszteni, minden mehet folyamatosan ( és gyorsan ).
(#) zombee válasza Axel hozzászólására (») Jún 7, 2010 /
 
A megoldásod megakasztja 200ms ideig az egész programod, ami idegesítő lehet. Elegendő 50 ms is.

Én sokféle módszert használok, az alkalmazás összetettsége dönti el hogy mit építek be.
Tökéletes megoldást csak az Atyaúristen jelenthet, kompromisszum mindig van.

Én kizárólag szoftver megoldásokban gondolkozom, ha egyszer van 3 timer miért ne használjam ki?

A legutóbbi, VGA monitoros órába pl. gomb lenyomásakor azonnal reagál, majd elindít egy számlálót. A számlálót egy időzítő interrupt csökkenti amíg zérus nem lesz. Amíg nem lesz zérus a számláló, addig nem dolgozza fel azt a nyomógombot.
Ha felengedéskor is elindítom a számlálót akkor a felengedésnél történő pergés is le van tiltva, így a felengedéskor nem fog ugrálni a számláló.
A módszer előnye hogy a késleltetése nulla, hátránya hogy a rossz tartással rendelkező nyomógomboknál nyomva tartás alatt kikapcsol.

Egyik legnehezebb találmányom az integrátorral és schmitt-triggerrel felszerelt figyelő réteg:
Van egy időzítő interrupt ami időnként lekérdezi a nyomógombok állapotát. A lekérdezés periódusideje lehet 1ms, és minden nyomógombra fenntart egy számlálót az SRAM-ban. Ez a számláló növekszik ha be van nyomva, csökken ha el van engedve a nyomógomb.
Ha elér egy küszöböt(mondjuk 10-et) akkor felugrik 20-ra, és nem nőhet tovább, csak csökkenhet.
Ha eléri a 11-et(csak csökkenéskor tud), akkor lenullázódik. A számláló ilyen viselkedése egy hiszterézist eredményez. Ezután beállítunk egy nyomógomb státusz regisztert(8 gombonként 1-et). Ha 10 fölötti a gomb számlálója akkor be van nyomva, ha alatt akkor ki van kapcsolva.
(#) zombee válasza Ideiglenes hozzászólására (») Jún 7, 2010 /
 
látom már megválaszolták előttem...

ebből analitikus gondolkodás fejlesztés lesz, már érzem.
(#) Axel hozzászólása Jún 7, 2010 /
 
Köszi a válaszokat! Igaz még egy kicsit fel kell dolgozzam, hogy mit hogyan de az ötlet lényegét már érzékelem.
(#) tibibalogh520 válasza zombee hozzászólására (») Jún 7, 2010 /
 
Szia!
Távcsővel nézed a monitort?
(#) zombee válasza tibibalogh520 hozzászólására (») Jún 7, 2010 /
 
Távcsővel?...

Nehezen, de leesett.
Képzelj el egy kollégiumi szobát, ahol a gépedet nem tudod akárhová tenni, csak a padlóra vagy egy jó magas polcra.
Az asztal teli van edényekkel, kacatokkal, egy jókora oszcilloszkóp, szobatárs cuccai, stb.
Ide elég volt a 3 méteres kábel. Most képzelj el egy ugyanilyen asztalt a másik oldalon, ahol a szobatárs dolgozik/eszik/alszik/***, és oda el kell húzni a programozókábelt, ugyanis a sok drót miatt körülményes a breadboard-ot megemelni. Mert akkor a macbook-ot is emelni és kézbe kellett volna tartani, rövid volt az USB átalakítójának kábele.
Ide kellett a 4 méteres toldó is!
(#) Axel hozzászólása Jún 7, 2010 /
 
A pergésmentesítésre visszatérve picit támadt egy kósza gondolatom: mi lenne ha a gombot egy 7400 egyik NAND kapuján keresztül kötném az AVR bemenetére? Oly módon, hogy a NAND kapu két bemenetét összekötném és így rá a gombot. A kapu kimenete pedig az AVR portjára menne. Azon kívül, hogy invertálás történne megszűnne-e így a pergés? Csak azért jutott eszembe mert pont 4 bemenetet használnék és megfelelne a 7400.
Gondoltam megkérdezem, bár lehet meddő kísérlet.
(#) trudnai válasza Axel hozzászólására (») Jún 8, 2010 /
 
Schmitt triggeres buffert kell gyakorlatilag csinalnod, es akkor egy kondival meg egy ellenallassal hardveresen is megoldhato a perges mentesites. De szerintem meg mindig egyszerubb szoftveresen megoldani, hacsak mar nem eleve ST bemeneted van...
Következő: »»   233 / 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