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   341 / 840
(#) zombee válasza edison14 hozzászólására (») Júl 15, 2011 /
 
Hello!

Most nem cseszegetni akarlak, de paneltervet, kapcsolási rajzot lehetőleg képként, és szintén lehetőleg veszteségmentes (például PNG/BMP/TIFF)formátumban illik feltölteni.
Létezik vagy 100 féle tervezőprogram, elég nagy kavalkád lenne ha mindenki az általa használt formátumban közvetlenül töltené fel...
(#) trudnai válasza edison14 hozzászólására (») Júl 15, 2011 /
 
Legalabb annyit leirhatnal, hogy mit kellene csinalnia es ehhez kepest mit csinal, vagy mi a iba egyaltalan?
(#) edison14 válasza trudnai hozzászólására (») Júl 15, 2011 /
 
Annyi a gondom vele, hogy a feszültséget méri de egy bizonyos értéknél már más karaktereket ír mint amiket kéne. Az árammérés is működik mert ha a terhelést felviszem akkor a panelmérőn a feszültség értéke csökken, de az áram értékét nem írja ki tehát ott valami a galiba a kiíratással lesz. És abban tudnál segíteni, hogy a kijelzőre hogyan tudok kiíratni egy CGRAM-ból választott karaktert egy bizonyos helyre úgy, hogy az a szöveg is ott maradjon amit előtte kiírtam (pl. Labrotápegység)? Esetleg egy kódrészletet tudnál mutatni?

Bocs zombee, figyelmetlen voltam.

panelmero.pdf
    
(#) zombee hozzászólása Júl 16, 2011 /
 
Sziasztok!

Most én kérdezek: AVR Studio 5 vs. STK500.
Az eredeti, gyári STK500 "nagy panelről" van szó, nem az utángyártott klónokról(stk500_v2, AVR Doper; velük szóba sem áll).
Ahogy felcsatlakozom, a listában bosszantóan kevés eszközt találok. Kb. 10-15 ATMega, illetve ATTiny12-13 és kész, más nincs. A mindmáig népszerű ATTiny2313, vagy az AT90USB162 már nincs. Miért? Csak a régi gépezetben volt vas? Mit lehet tenni?
Persze az utángyártott AVRISP-mkII-vel mindent lát, az összes ATTiny, ATMega, AT90, ATXMega, és még pár eltérő típust is...
(#) sikolymester válasza zombee hozzászólására (») Júl 16, 2011 /
 
Eredetileg nem is volt tervezve, hogy támogassa a Studio5 az STK500-at. De aztán elég nagy volt a nyomás az avrfreaks.net fórumon, illetve az atmel marketing osztályán, így mégis támogatva lett végül.

Én meg tudom erősíteni azt, hogy eléggé foghíjas a támogatott mcu lista. Bár megemlítem, hogy én egy doper klónnal néztem meg ezt. Fordítottam egy saját hex-et neki, amiben magáról azt állítja, hogy 2.10 es Fw verzió fut rajta. Ezzel el lehet kerülni azt, hogy a Studio4 állandóan sírjon, hogy szeretné frissíteni (Illetve gondolom ennek hála szóba áll vele a Studio5 is).

Hogy mit lehet tenni? Studio4-et kell használni.
(#) zombee válasza sikolymester hozzászólására (») Júl 16, 2011 /
 
Köszönöm, akkor nem nálam a hiba. Az 5-östől nem vagyok elragadtatva, sok a hype, lassú, nehezen lehet kezelni.
Inkább azért kérdem hogy a programozóimról mit mondjak az ismerőseimnek akik ragaszkodnának hozzá, mert volt aki nem hajlandó lemondani róla...

Én maradok a 4-esnél a bugok ellenére is:
- másol/beilleszt műveleteknél sokszor kifagy
- assembler-ben F7 lenyomására nem mindig fordít(csak újratelepítés segít)
- duplán kattintva a hibaüzenetre nem mindig ugrik oda(újraindítás segít)
- projektváltásnál mindig ki kell tallózni az új hex-et is
- nem képes felismerni az AVR típusát a signature-ből, az a felhasználó dolga
(#) domokosf válasza zombee hozzászólására (») Júl 16, 2011 /
 
Köszönöm a választ. Persze a cikk cime nonszensz, bár gondoltam, vannak akik be tudják forrasztani ezt a sűrű lábú tokot. Igazából nem tudtam, hogy elavult, egy másféle tokozású (és tipusú) FT232-vel akartam összekombinálni amelyet már be mertem volna forrasztani. Az ötletet egy görög csákó programozója adta Bővebben: Link. Köszi az ötletet, utánanézek az AVRISP-mkII-nek.
(#) zombee válasza domokosf hozzászólására (») Júl 16, 2011 /
 
Hello!

Ezzel én is találkoztam, egy fokkal kulturáltabban be lehet forrasztani egyTQFP-t, mint egy TSSOP-t...
A sebességre tett megjegyzést javítanám, mert az este én is összedobtam egy ilyesmit(igaz, MCP2200-val) mert a nagyfeszt tudó STK500-at csak ilyennel lehet felprogizni. Ez elég gyorsan feldobta, kb. olyan sebességgel mint az stk500_v2, úgyhogy ezzel nem lesz gond.
(#) yoman917 hozzászólása Júl 17, 2011 /
 
Sziasztok
Építettem egy hőmérőt, és olyan kérdésem lenne, hogy hogyan tudnám megoldani, hogy csak 1 percenként frissítse a mérést? Úgy gondolom ezt a programrészletet kellene variálni:
  1. unsigned long Beolvas10BitADC(uint8_t channel)
  2.        
  3.  
  4.         {
  5.                 ADMUX = (ADMUX & 0b11110000) | channel;
  6.                 ADCSRA |= (1<<ADIF);
  7.                 ADCSRA |= (1<<ADSC);
  8.                         while (!(ADCSRA & (1<<ADIF)));
  9.                        
  10.                         return ADC;
  11.                        
  12.                 }
(#) zombee válasza yoman917 hozzászólására (») Júl 17, 2011 /
 
Módosítani sehogy. Az "Beolvas10BitADC" hívása előtt vagy után ezt kéne beszúrni:
_delay_ms(60000);
(#) Ricsi89 válasza zombee hozzászólására (») Júl 17, 2011 /
 
Vagy inkább megszakítással kellene megoldani a beolvasást, mert ez a várakozás nem hiszem, hogy szerencsés.
(#) sikolymester válasza yoman917 hozzászólására (») Júl 18, 2011 /
 
Elindítasz egy timert és nézed, hogy a számlálója elszámolt e már addig ami ~1 percnek felel meg:

pl: 1Mhz-en jár az Atmega16-od. Timer 1-et elinditod 1024-es leosztással. Ekkor az 976,56 Hz-cel számol, ez ugye azt jelenti, hogy 1,024 ms -onként lépteti a TCNT1 regisztert. Ha tehát eléri az 58593-at (szerencsénkre a Timer1 16bites), akkor telt el 1 perc kb.
Ezt figyeled, és ha ez igaz, akkor ezt nullázod és lefuttatod a cselekményt amit percenkét kellene.

Hogy ezt interruptból teszed, vagy csak a program futása közben, az rád van bízva.
(#) gtk válasza sikolymester hozzászólására (») Júl 18, 2011 /
 
8 bites Timer eseten tehet meg egy soft-szamlalot a tulcsordulas interrupt-ba, es azzal tovabb szamol.
(#) Zoszko hozzászólása Júl 19, 2011 /
 
Hali!
Építettem egy USB Explorer-t és felprogramozás után beállítottam, hogy külső kristályt használjon (8 - Mhz) és ne ossza el 8-al az órajelet ezután meghalt az egész. Az AVRdude 0x000..-as ID-t ad vissza. AVR Studio-val programoztam. A fórumban olvastam, hogy a SPIEN-t is ki kellett volna pipálni de nem lehetett... szürke volt egy kis kérdőjellel. Lehet ezzel az ATtiny2313-al kezdeni még valamit? (Minden megoldás érdekel amivel újra használható lesz.) Egyébként egy STK500+JTAG USB v3-as programozóm van (STK500v2-nek látja az AVRdude).
Z
(#) TavIR-AVR válasza Zoszko hozzászólására (») Júl 19, 2011 /
 
Rossz órajelforrást adtál meg. Külső négyszögjel az XTAL2 lábra, ISPfreq: <100 kHz, és AVRStudió alól újraéled....>
(#) Zoszko válasza TavIR-AVR hozzászólására (») Júl 19, 2011 /
 
Megcsináltam! Most már olvasni tudom a beállításokat írni viszont nem.
(#) TavIR-AVR válasza Zoszko hozzászólására (») Júl 19, 2011 /
 
Az IC nem kap tápot (az összes Vcc/VccA és GND/GNDA lábon)!

A Fuse Bitek (Lock) be van állítva.

Első lépés: Read ChipID
Második: Erase Chip
(#) zombee válasza TavIR-AVR hozzászólására (») Júl 19, 2011 /
 
@Zoszko #1028995:
Ha az XTAL1 lábra kötött külső órajellel sem megy, akkor marad a nagyfesz programozás és akkor újból használható.

@TavIR-AVR #1029009:
Véletlenül nem az XTAL1 lábra? Az XTAL2 az kimenet.

@TavIR-AVR #1029128:
ATTiny2313-ról beszélünk. Csak 1 VCC és 1 GND lába van...
(#) Zoszko válasza zombee hozzászólására (») Júl 19, 2011 /
 
Kiépítettem az egészet a kapcsolásból és így már olvasni sem tudom...
Idézet:
„Entering programming mode.. FAILED!
Leaving programming mode.. FAILED!”

A nagyfesz. programozásról mondanál pár szót?
(#) TavIR-AVR válasza Zoszko hozzászólására (») Júl 19, 2011 /
 
Ez messze van a kiolvasásától....
A ChipID ha nem jon vissza -> KUKA!

Itt tényleg a nagyfesz prg játszik be....
(#) zombee válasza Zoszko hozzászólására (») Júl 19, 2011 /
 
A nagyfesz arról szól hogy a programozó nem a belső, "ISP-bootloaderrel" kommunikál, hanem vezérlőszálakon, "kézzel" címzi meg a memóriarekeszeket amibe (jelen esetben) párhuzamos adatvezetékeken beleteszi az adatot. Mindent tud mint amit az ISP, csak ennél a módnál nem probléma az elállított órajel, letiltott RESET láb vagy SPIEN FUSE bit.
Aktiválni a RESET lábra kötött 12V-al lehet(innen az elnevezés: nagyfeszültségű programozás), azonban a lábak billegetése megfelelő(HVPP/HVSP) programozót kíván. A gyári (és drága) variánsokon(STK500, STK600, AVR Dragon) kívül én kétfajtát ismerek, és mindkettő típust sikeresen meg is építettem.
Az egyik az AVR Fusebit Doctor, ebből már több mint 10-et megépítettem. Programozni(programot feltölteni) nem lehet vele, de a FUSE biteket visszaállítja a gyári beállításokra, és igény esetén a csip tartalmát is törölni tudja(a programkód is blokkolhatja az ISP-programozást!).
A másikból az első prototípust hétvégén építettem, ez lényegében a gyári STK500 egy jóval egyszerűbb variánsa, amiből kidobáltam egy csomó, a hobbista stámára felesleges dolgot. A HVPP/HVSP képességet illetve a firmware frissítés lehetőségét viszont benne hagytam. A kor követelményeinek megfelelően USB-interfésszel láttam el, illetve ha már van USB, a 12V-os nagyfeszt is az USB 5V-ból állítja elő egy DC/DC konverterrel. Hasonlót a www.der-hammer.info oldalon találsz.

PICT0286.JPG
    
(#) zolee1209 válasza zombee hozzászólására (») Júl 19, 2011 /
 
Szia!

Ezt a HV programozót én is megépítettem, de ahogyan az oldalon közölték. USB-UART átalakítóval is jól működik, kellően gyors? A doperhez viszonyítva, mert nekem még olyanom van. Sajna a doperben hiába állítom az ISP frekijét, ugyanolyan dög lassú mindig, míg a HV progos szinte szárnyal maxon...
(#) zombee válasza zolee1209 hozzászólására (») Júl 19, 2011 /
 
A munkahelyemen eredeti, GYÁRI STK500 van, többek között azon is méricskéltem párat hogy mi hogyan amíg meg nem találtam a hivatalos kapcsolási rajzát.
Összehasonlítottam az USB verziómmal(MCP2200) és ugyanolyan gyors a programozás.
Sőt! A firmware frissítő része szoftverileg nem a gyári, az eredeti még hardveres UART-ot használt és ezért kb. 20-25 másodpercig frissíti magát, míg az enyémnél már 3 másodperc...
Doper az valóban lassú, dehát ecccerű és occó.
(#) zombee válasza zombee hozzászólására (») Júl 19, 2011 /
 
Javítanom kell magamat: az eredeti STK500-on lévő AT90S1200 még szoftveres UART-ot használt!
(#) TavIR-AVR válasza zombee hozzászólására (») Júl 20, 2011 /
 
Az STK500 az ATTINY2313 chipet használ a SW frissítésre és ATMega8535 chipet a tényleges programozóként és HW UART-ot. A használt protokoll STK500v2.


AT90S1200 chippel az eredeti AVRISP volt szerelve (AVR910 illetve AVR911 azonosítószámon az Atmelnél). Ennek protokoll megnevezése volt az STK500v1.
(#) zombee válasza TavIR-AVR hozzászólására (») Júl 20, 2011 /
 
Ki kell javítsalak, az eredeti STK500 frissítését is AT90S1200 végzi. Kiolvastam a kódját, és visszafejtéskor azt látom hogy szoftveres UART van, hardveres nem is lehetne...
Ha ATTiny2313-at látsz rajt az már valószínűleg javítás áldozata lett. Nem feltétlenül házilagos, garanciálisan is cserélhették. Az AT90S1200-al lábkompatíbilis, és az RX/TX lábak is pont ugyanoda esnek.
Amikor az STK500-at kiadták, még nem létezhetett ATTiny2313, legfeljebb AT90S2313 néven...
Bővebben: Link(6. oldal)
(#) TavIR-AVR válasza zombee hozzászólására (») Júl 20, 2011 /
 
Na előástam az STK500 panelemet:

20070705-i gyártás.
ATTiny2313 van rajta és Atmega8535L chip.

Az STK500 is jópár ven keresztül futott, így az Atmel is változtatta a csereszabatos chipjeit....
(#) zombee válasza TavIR-AVR hozzászólására (») Júl 20, 2011 /
 
Rendben, elhiszem.
A munkahelyemen lévő pár darab STK500-ból és a gyári leírásokból indultam ki, mindnél AT90S1200 volt.
Persze ezek még Németből lettek hozva sok-sok évvel ezelőtt, ott jóval korábban kezdődött minden.
(#) tomi936 hozzászólása Júl 20, 2011 /
 
Sziasztok!
Egy kis segítségre lenne szükségem!

Nemrég megjött a netről rendelt AVRISP mkii-es AVR programozóm, neki is álltam és megpróbáltam megvalósítani Topi Nyolc lábbal AVR című cikkének első részét, de amikor a programot az ATtiny45-ös AVRbe akarom égetni az AVR Studio állandóan hibát dob:
"Target appears to have lot power or the ISP connector was disconnected".

Az égetés sebességét végigpróbáltam most 125kHzre van beállítva. Előző hozzászólásokban olvastam valami olyat, hogy a programozó nem látja el az AVR-t tápfeszültséggel. Habár a dokumentációjában az van írva ha piros a LED rajta akkor nincs target POWER ha zöld akkor van. És ha én elindítom az égetést akkor felvillan a zöld. De ennek ellenére kipróbáltam egy 5Vos tápegységgel és feszstab ICvel is és úgy se működött

Mit tegyek? Segítsetek!
U.I.
(Csatolok 2 képet, hogy egyértelműbb legyen .)
(#) Fizikus válasza tomi936 hozzászólására (») Júl 20, 2011 /
 
Az AVRISP mkII-es nem ad tapfeszt a celaramkornek. Ezt neked kell megtenned. Emlitetted hogy kiprobaltad ugy is hogy kulso 5V-os taprol taplaltad az aramkort.
Ha a programozo csatlakozoja az AVR megfelelo labaira lett kotve, akkor mennie kell (a GND-t es a VCC-t is ra kell kotni a celaramkorre, mert ezzel erzekeli a programozo hogy van-e tap a celaramkoron. ekkor az a LED ami a kepeden piros, zolden fog vilagitani)
Következő: »»   341 / 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