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   516 / 840
(#) sikolymester válasza e-chipmunk hozzászólására (») Feb 7, 2013 /
 
Amit szeretnél, ahhoz teljesen elég ez az IC.
De ha nem haragszol, akkor lehet javasolnám neked, hogy vegyél egy ilyesmit: Bluetooth modul
Rápöccinted a mikrokontroller UART lábaira és amit beadsz az a túloldalon kijön. Ebayen aprópénzért találni ilyeneket.

Javaslom ezt mert úgy látom eléggé kezdő lehetsz. Persze nem árt a kihívás, de annak az esélye, hogy megtervezel egy működő 2.4GHz es NYÁKot, majd a 8051 -est beüzemeld szerintem konvergál a nullához. A sikertelenségből meg csak csalódás lesz.
(#) e-chipmunk válasza sikolymester hozzászólására (») Feb 7, 2013 /
 
Én a zigbee miatt szeretném ezt kipróbálni. szóval maradok ennél az IC-nél, de köszönöm az ajánlást. Igazából a szenvedés része az tuti, meg a sok kudarc is benne van, de nem szabad feladni.
(#) boomerang válasza csabeszq hozzászólására (») Feb 7, 2013 /
 
Ezt nem igazán értem...
Az RTC címe 1101000 + 1 vagy 0 attól függően hogy írjuk vagy olvassuk.
(#) ThompsoN hozzászólása Feb 7, 2013 /
 
Sziasztok.

A programozót összeépítettem, a szükséges programokat és a drivert feltelepítettem. A programot összedobtam, és próbapanelen keresztül kötöttem rá az áramkört az ATTiny24-re.
A programozó leírásában lévő videó szerint jártam el, de egy hibaüzenetet kapok, melyet mellékelek a HSZ-ben.

A kérdésem az, hogy mit csinálhatok rosszul?

A dolog érdekessége, hogy a program működik (a próba kapcsolást építettem meg, a LED villogtatót), de nem 1mp időközönként villognak a LED-ek.
A hozzászólás módosítva: Feb 7, 2013

avrhiba.png
    
(#) sikolymester válasza boomerang hozzászólására (») Feb 7, 2013 /
 
Kolléga valami ilyesmire gondolt, miszerint:
A cím ugye 7 bites. Legyen példánkban az értéke: cím = 127 = 0xFE
Ha írni akarsz, akkor az 1 byte, amit küldesz címzésként így áll elő: cím * 2 + 1, ami: 127*2 = 254 + 1 = 255 = 0xFF
Te ugyanezt állítod csak igazából így értetted:
  1. (0b1101000 << 1) +1

És mivel az eggyel balra shiftelés az szorzás 2-vel a kettő ugyanaz.

Tádám
(#) sikolymester válasza ThompsoN hozzászólására (») Feb 7, 2013 /
 
Vedd le a programozó órajelét 200kHz-re. Az AVR gyárilag szállítva 1MHz -es. A propgramozási sebesség viszont kisebb kell legyen az órajelének 1/4 -nél.
(#) ThompsoN válasza sikolymester hozzászólására (») Feb 7, 2013 /
 
Ha a Main fül 'Programming mode and Target settings' részére gondolsz, ott átállítottam 115,2kHz-re, és kipróbáltam kisebb órajellel is.
(#) ThompsoN válasza ThompsoN hozzászólására (») Feb 7, 2013 /
 
Igazad volt, köszönöm a segítséget! Az egyik gombot elfelejtettem megnyomni.
(#) szikorapéter hozzászólása Feb 7, 2013 /
 
Helló.Az lenne a kérdésem hogy az ehhez hasonló programozó adapterrel (kép mellékelve) amit a topic-ban találtam lehet-e ilyen egyszerűbb mintaprogramokat írni (tanulás céljára felhasználni: alapok,portok kezelése,programozása,időzítése...stb).És ha igen akkor van valami ilyen alapproject amin el lehete indulni esetleg ic-típussal eggyüt is?
(#) zombee válasza szikorapéter hozzászólására (») Feb 8, 2013 /
 
Igen, lehet vele írni: fogod az adaptert és azzal nyomogatod a billentyűzetet...

A viccet félretéve: amit belinkeltél, az egy égető.
Programokat nélküle is lehet írni, türelmes és empatikus embereknek a szimulátor sem idegen.
Ezzel az égetővel az IC-re viszed fel a programot amit azelőtt írtál és lefordítottál.
DE: az IC-k típusválasztéka korlátozott lesz(PonyProg) és a programozás lassú. De működik.
(#) boomerang hozzászólása Feb 8, 2013 /
 
Üdv !

Tegnap óta alakítgattam az RTC kódon (DS1307) de még most sem csinálja a dolgát.
Nincs több ötletem mit ronthattam el.
Valaki tudna segíteni ?

A kódban nincs benne, de letesztelem hogy jött-e adat ami eddig mindig sikertelen volt, ezért nincs benne a dekódolós rész...

Köszi

RTC kód.txt
    
(#) csabeszq válasza boomerang hozzászólására (») Feb 8, 2013 /
 
Bocs, de így I2C-t fejben debuggolni kvázi lehetetlen. Én LED-del szoktam szórakozni, hogy lássam, hogy hol áll meg a kommunikáció.

A TWBR-t nullába rakod, ami F_CPU/16-ot jelent. Biztos, hogy először a leggyorsabb sebességen érdemes próbálkozni? Nem lenne jobb 10kHz körül kezdeni?

A _delay_ms(20)-nak az ég világon semmi értelme. Ahogy emlékszem, addig kell várni, amíg a TWINT alacsony. A TWINT simán várhat fél órát is, a kommunikáció megengedi.

1.) ellenőrzöd, hogy az SCL/SDA alapállapotban, ha semmit sem csinálsz, akkor magasban vannak-e
2.) elküldöd a start jelet
3.) megvárod, míg befejeződik a TWINT-et vizsgálva
4.) elküldöd a címet a slave-nek
5.) ellenőrzöd, hogy az ACK megjött-e

Ha megjön az ACK, akkor utána van értelme a továbbiakról beszélni.
A hozzászólás módosítva: Feb 8, 2013
(#) csabeszq válasza csabeszq hozzászólására (») Feb 8, 2013 /
 
Bővebben: I2C.c
Bővebben: I2C.h

Konkrétan figyelned kellene a TWSR értékét, hogy mi történik.
I2C read:
- átmegy TW_START-ba
elküldöd a címet
- átmegy TW_MR_SLA_ACK-ba
hiba esetén
- TW_MR_SLA_NACK-ba

Én úgy szoktam debuggolni, hogy a TWSR állapotváltozásokat beírom az EEPROM-ba. Utána programozóval kiolvasom.
(#) boomerang válasza csabeszq hozzászólására (») Feb 8, 2013 /
 
Köszi az infót, megpróbálom összehozni a leírtak alapján.
(#) szikorapéter válasza zombee hozzászólására (») Feb 8, 2013 /
 
Esetleg valami más program ami több típust képes programozni,de ezzel az interface-el működik?És esetleg valami könnyen megépíthető demo kártya kapcsolást mellyen van 2X16-os LCD?Bocs a sok kérdésért,még most kezdek neki a programozgatásnak.
(#) zombee válasza csabeszq hozzászólására (») Feb 8, 2013 /
 
Csak szólok hogy 10kHz-en nem minden működik, pl. PCF8574 nem működött 27kHz alatt.
(#) sikolymester válasza szikorapéter hozzászólására (») Feb 8, 2013 /
 
Ez hardverben korlátozott.
Keresd meg az oldalon az AVR 8 lábbal cikksorozatot.
(#) szikorapéter válasza sikolymester hozzászólására (») Feb 8, 2013 /
 
Azonnal neki is állok olvasni.Köszönöm a válaszokat.
(#) csabeszq hozzászólása Feb 9, 2013 /
 
A 8 Ft-os BC-338-as projektem lezárult, mert megpróbáltam vele egy 12mA fogyasztású relét kapcsolni (védődiódával). A bekapcsolás még sikerült is, de utána úgy maradt: hiába földeltem a bázisát, azért 2-3V még átfolydogált rajta.

Azt írták az adatlapon, hogy 25V-ot bír, így nem értem, hogy miért tört le 9.6V-on. MPSA42-vel fogok ezután kapcsolni, a BC-338-at meg mellőzöm. A tranzisztor csere segített a problémán.
A hozzászólás módosítva: Feb 9, 2013
(#) zombee válasza csabeszq hozzászólására (») Feb 9, 2013 /
 
Azért ki lehet fogni egykét selejtes példányt, a típust ezért még nem kell leszólni. A dióda is
lehet hibás vagy nem oda való, pl. ha lassú akkor ne hidd hogy a 25V-ot nem éri el a csúcsfesz!
Ami pedig a mértékegységeket illeti: ami átfolyik az az áram és nem a feszültség...
A hozzászólás módosítva: Feb 9, 2013
(#) csabeszq válasza csabeszq hozzászólására (») Feb 9, 2013 /
 
Reprodukáltam a sztorit breadboard-on.

A lényeg, hogy fordítva kell a BC-338-at bekötni és akkor bekapcsolás után úgymarad. Az adatlap szerint a Vbe max 5V lehet, így a 9.6V-os letörés is érthető.

(#) kiborg hozzászólása Feb 9, 2013 /
 
Hali!
Egy ideje ezt a két üzenetet dobja JTAG-om, miután letöltöttem a programot.
Ettől függetlenül megy a debug, jó minden, fut a program, csak nem tudom miért írja. Tudtok rá valami okosat mondani, hogy mi okozza és hogy lehet megszüntetni?
JTAG ICE: Warning: Reading the program counter, an invalid value (0x7FFFFFFF) was received from the device.
JTAG ICE: Warning: A problem occured while executing this debug command! Please check the connections, the voltage, and the clock system of the target application!
AVR Studio 4.18
Kiborg
(#) zombee válasza kiborg hozzászólására (») Feb 9, 2013 /
 
Hát vagy az AVR-ed nem kap tápfeszt vagy szakadás/zárlat van. Esetleg a JTAGEN ki van kapcsolva.
A hozzászólás módosítva: Feb 9, 2013
(#) kiborg válasza zombee hozzászólására (») Feb 9, 2013 /
 
Hááát, a program fut, le is tudom tölteni rá, tudom lépésről lépésre debugolni. A proram fut, hiszen kezeli az LCD-t, kiírja a szöveget, méri a hőmérsékletet, stb....
Ja és JTAG-on keresztül töltöm le a programot.
Zárlat/szakadás? Hol érdemes keresgélni?
(#) elektros90 hozzászólása Feb 10, 2013 /
 
Sziasztok. Szerettem volna felprogramozni az AVR mega8 amat. Egyszerű kis program, gyakorlás céljából. AVR studiot használok, AVR ISP/STK 500 programozóval. Bekötöttem a miso, mosi, sck, reset lábakat, ahogy kell. Az AVR studióból programoznák, de nem enged.Azt a hibaüzenetet dobálja, hogy
"Unable to open file ... .hex: File does not exist."

Mivel lehet a hiba, mi a megoldás?
(#) zombee válasza elektros90 hozzászólására (») Feb 10, 2013 /
 
nézd meg, tényleg ott van-e a fájl!
(#) elektros90 válasza zombee hozzászólására (») Feb 10, 2013 /
 
Tényleg ott van, a tallózással választottam ki a hex fájlt.
(#) pluto válasza elektros90 hozzászólására (») Feb 10, 2013 /
 
Nálam ez akkor történt, amikor az elérési útban ékezetes karakter volt. Valamiért az AVR-Studio csak az ASCII karakter készletet szereti az elérési utakban. Ca. úgy mint 20 éve
(#) elektros90 válasza pluto hozzászólására (») Feb 10, 2013 /
 
A fájl nevében nem szerepel diakritika.Kipróbáltam példaprogrammal is, más AVRel, ugyan ez a hiba. Felinstaláltam az Atmel SP2-t, azóta lassú az egész + lefagy a gép.
Van valamilyen progi, amivel AVR ISP/DOPER/STK500 al tudok programozni AVR Studion kívül?
(#) zombee válasza elektros90 hozzászólására (») Feb 11, 2013 /
 
Teljes AVR tools újratelepítés, beleértve a WinAVR vagy AVR Toolchain-t is.
A törlés után az AVR Tools mappát töröld, és csak utána pakolj fel ismét mindent. Ez segít!
A teljes művelet max. 15-20 perc.
A hozzászólás módosítva: Feb 11, 2013
Következő: »»   516 / 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