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   305 / 840
(#) Ricsi89 válasza kovacsj hozzászólására (») Feb 2, 2011 /
 
Nekem viszont tökéletesen megy a Doper win7 alatt, több gépen is használtam már. Xp, win7, ubuntu, mindhárom rendszeren tökéletesen megy nálam.
(#) Beachway hozzászólása Feb 2, 2011 /
 
Üdvözlök mindenkit. Lenne egy kérdésem, amit nem igazán értek. Adott egy kapcsolás. Bővebben: Link Azt írja a tervezője, és a kapcsolásból is az derül ki, hogy a fuse byt-eket úgy kell beállítani, hogy külső kvarcz-al menjen. A fuse kalkulátorban beállítom az AVR tipusát (ATTINY2313) Majd a külső kvarc-ot (ext crystal) majd az órajel nagyságát (8.0-Mhz).Ez után jönne az indulási idő.Gondolom a magas frekvencia véget érdemesebb a legnagyobbra venni ezt az időt.A gond csak az ,hogy ebből is van 3 tétel. A kérdésem az lenne, hogy ez esetben melyik lenne a helyes beállítás??Előre is köszönök minden segítséget.
(#) zsozsoX hozzászólása Feb 2, 2011 /
 
Sziasztok
Atmega8-al szeretnék feszültséget szabályozni, egy kis segítség kellene merre induljak el.
(#) bzolitb válasza zsozsoX hozzászólására (») Feb 2, 2011 /
 
PWM jellel tudsz előállítani 0-5V közti feszültséget, ha nagyobb feszültséget szeretnél, vagy egy másik ág feszültségét szeretnéd szabályozni, azt tranzisztorral érdemes megoldani, és a tranzisztort vezérled. PWM jelet pedig timerrel tudsz előállítani.
(#) sgt válasza zsozsoX hozzászólására (») Feb 3, 2011 /
 
Vagy ha pontos értéket akarsz külső DAC-t használj. De am úgy az előző hszt javaslom én is (egyszerűbb).
(#) kovacsj válasza Ricsi89 hozzászólására (») Feb 3, 2011 /
 
Debian alatt nekem is megy mindkettő. De valami lehet a gépem USB-portjával, mert erre panaszkodva nem megy fel a FreeBSD sem.
(#) Reggie válasza Beachway hozzászólására (») Feb 3, 2011 /
 
Az indulasi ido nem a kvarc frekvenciajatol fuggo dolog, hanem egyebb parametereitol, es attol fuggoen kell beallitani, hogy mennyi ido alatt stabilizalodik a kvarc frekvenciaja inditaskor. Altalaban szinte barmelyik ertek jo, ha paranoid vagy es az indulasi ido nem szamit, akkor nyugodtan valaszd a legynagyobb erteket, ugyanis 8 MHz-s kvarcnal csak 8 ezredmasodperces kesleltetest fog okozni, ami nem szamottevo.
(#) Reggie válasza kovacsj hozzászólására (») Feb 3, 2011 /
 
Nekem eredeti JTAG ICE MKII siman megy win7 alatt mar tobb mint 1 eve. Ha neked ez sem megy, akkor ott tenyleg valami gond van a geppel.
(#) Reggie válasza mario1111 hozzászólására (») Feb 3, 2011 /
 
mscbp.hu -nal a mega128a 3ezer alatt van, sot meg a mega1281-is alatta van.
(#) gabi20 hozzászólása Feb 3, 2011 /
 
Sziasztok az AVR megszakításokkal kapcsolatban lenne egy kérdésem ha egynél több megszakítás van bekapcsolva: miközben az egyik megszakítás végrehajtása történik, érkezik a másik megszakítás kérés akkor mi fog történni?
(#) Andre90 válasza Andre90 hozzászólására (») Feb 3, 2011 /
 
Valaki esetleg tudna válaszolni a (#910264)-os kérdésre?
Megköszönném. További szép napot.
(#) Beachway válasza Reggie hozzászólására (») Feb 3, 2011 /
 
Igen, ezt értem. Ha nagyobb az indítási idő abból nincsen olyan baj mint ha kisebb lenne. A gondom az, hogy a bitkalkulátorban ebből a beállításból van 3 is. És nem tudom melyik lenne a helyes? Az eltérés a következő: CKSL-1111 sut11 vagy CKSL1111 sut00 vagy CKSL1110 sut01 Mi a különbség a három beállítás között. Ha már egyszer kiválasztom az órajel forrását, és az indítási időt is, akkor miért kell ismét órajel forrást beállítani?
(#) Reggie válasza Beachway hozzászólására (») Feb 3, 2011 /
 
Mert ebben az esetben a CKSEL0-nak mar mas jelentese van, a reszletes tablazatot az idozitesekrol az adatlap 25. oldalan megtalalod. Kristalyhoz a CKSEL0=programozott javasolt.
(#) werman hozzászólása Feb 3, 2011 /
 
hali! Sikerült egy attiny45-ben kikapcsolni a reset lábat. Kérdés hogy az AVR-doper(Topi féle) az támogatja a HVSP módot, mármint maga a mikrovezérlő? (mert akkor megépítenem az eredeti dopert és átraknám az IC-ét) Előre is köszönöm.
(#) Beachway válasza Reggie hozzászólására (») Feb 3, 2011 /
 
ÁÁ most már értem miért is kell végig böngészni az adatlapot Tehát akkor ez lesz a helyes beállításom: Ext.Crystal OSC Frekvencia 8.0Mhz Ingítási idő 14CK+65ms (CKSEL=1111 SUT=11) Brown-out kikapcsolva (BODLEVEL=111) Ezek szerint csak a CKDIV8-hoz kell tennem pipát. Viszont én Ponyprog-al fogom programozni, és ott az órajel bitek fordítva vannak.Tehát a CKSEL0,1,2,3 hoz is kell tennem egy egy pipát. Ha jó volt a gondolatmenetem.
(#) Reggie válasza Beachway hozzászólására (») Feb 3, 2011 /
 
Igen.
(#) Beachway válasza Reggie hozzászólására (») Feb 3, 2011 /
 
Nagyon szépen köszönöm!
(#) Hurka hozzászólása Feb 3, 2011 /
 
Hellosztok!

Hogy lehet pontosan 1024 bájtot beolvasni szoftveres UART-ról Bascomban?

Segítségeteket előre is köszönöm: Hurka
(#) NickE hozzászólása Feb 4, 2011 /
 
Nem vagyok AVR szaki, én inkább PIC-ekel szoktam foglalkozni, csak
játszadozok Arduinoval és az alábbi kód esetén a lefutóélek nem szép egyenesek. Mi okozza ezt? Itt még nem is nagy a frekvencia. Mellékeltem a képet róla.

  1. while(1){
  2.   digitalWrite(8,HIGH);
  3.   delay(1);
  4.   digitalWrite(8,LOW);
  5.   delay(1);
  6.   }

DS0000.png
    
(#) Reggie válasza NickE hozzászólására (») Feb 4, 2011 /
 
Szkop, merofej, kornyezo aramkor nem zavarhat be? A szoftver miatt biztos nem lehet.
(#) bzolitb válasza NickE hozzászólására (») Feb 4, 2011 /
 
A szkop kepet elnezve mintha egy kondenzator kisuleset latnam, szoval ez valami kapacitas hiba, a kondenzatornak pedig ugye kis frekvencian van ideje ilyen kisulesre, probald ki, h noveled a frekvencia, akkor ugye nincs ideje a kondinak kisulni, es elvileg eltunik a lecsenges a jelrol. A problema peeddig lehet akar egy zarlattol az elektronikadban, vagy szakadastol, ami mas utvonalon foldel le, ellenorizd a dolgokat, en ezt tennem.
(#) Topi válasza NickE hozzászólására (») Feb 4, 2011 / 2
 
Szerintem egyszerűen nem kimenet. Portirány: bemenetnél, a PORTx-et kapcsolgatva felhúzót kapcsolgatsz.

Így a belső pullup + szkóp kapacitás alkot egy szép RC exponens görbét (ez látszik a szkópon).
(#) Reggie válasza Topi hozzászólására (») Feb 4, 2011 /
 
Milyen trivialis. Arra nem is gondoltam, hogy az output valojaban nem output, mert eleg nagy szarvashiba, de teljesen realis.
(#) Topi válasza Reggie hozzászólására (») Feb 4, 2011 /
 
Nem tudom igazából milyen makró rejlik a digitalWrite() mögött.
De a 35KOhm*30pF hasonló képet adhat. (katalógus adat 20-50KOhm)
(#) Reggie válasza Topi hozzászólására (») Feb 4, 2011 /
 
Az a pull up erteke, itt pedig lefele ivel. (Valamint a te altalad emlitett variacionak kb 1us az idoallandoja, mig a kep alapjan legalabb 150us)
Lehet hogy inkabb a pin kapacitasa okozza(vagy a szurokondi a buszon), amit a szkop 1MOhmja huz a fold fele. A pin kapacitasa viszont olyan picit, hogy az 20-50kOhm szinte azonnal felrantja a tapig.
(#) zsozsoX válasza bzolitb hozzászólására (») Feb 4, 2011 /
 
Köszönöm a segítséget.
(#) Topi válasza Reggie hozzászólására (») Feb 4, 2011 /
 
Mondjuk a szkóp bemeneti impedanciáját valóban kihagytam belőle.. De már este van. Nézzük el

Na de majd a kérdező megmondja mi a pálya, mert a hiba forrása még lehet mindig ugyan az.
(#) vagnerjazon hozzászólása Feb 5, 2011 /
 
A Topi féle AVR programozót használtam eddig 32 bites win7 alatt, most 64 bit-es alatt (szintén win7) próbálom(bár nem tudom ez lényeges-e), és a képen látható hibaüzenetet kapom, és nem működik a programozó. Hogy magyarázzam meg a gépnek, hogy márpedig ne érdekelje semmi, hanem futtassa?

hiba.jpg
    
(#) NickE válasza Topi hozzászólására (») Feb 5, 2011 /
 
Ja, hogy ezek az AVR-ek a bemenetet is tudják kapcsolgatni le-föl?

Nyertél.

pinMode(8, OUTPUT); után szép szögletes lett.
(#) vagnerjazon válasza vagnerjazon hozzászólására (») Feb 5, 2011 /
 
Közben kipróbáltam egy 32 bites gépen, ment. Tehát akkor nem én nem emlékeztem, hogy régebben hogy tettem fel, hanem a 64 bit volt a gond. Már teszem is föl a 32 bitest.
Következő: »»   305 / 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