Fórum témák
» Több friss téma |
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
Kezdő kérdés:
Mi az az SPL és miért jó, hogy a program elején DF-et írunk bele? START: ldi TEMP, 0xDF out SPL,TEMP köszi
Stack Pointer Low(byte) = 0xDF
Ezzel beállítod a Stack-et.
bocs a hülye kérdésért, de az miért jó? még kezdő vagyok és csak kaptam ezt a programot, próbálok rájönni a dolgokra
Szerintem töltsd le az adatlapot az AVR-hez és abban szépen el van magyarázva. A stack egy kijelölt memóriaterület ahová átmeneti adatokat ment.....pici túlzással mint a temp mappa....
ok, köszi
Nem találok olyan utasítást, amivel vizsgálhatnám pl. a pinb 7.bitjének állapotát és annak függvényében csinálnék vmit. Csak két regisztert tudok összehasonlítani, így maszkolással oldottam meg, ami nem vmi szép. Hogy kéne?
Esetleg lehet ezzel kezdeni valamit:
Idézet: „ sbic reg , bit ;kovetkezo sort atugorja ha az adott helyerteku bit 0 sbis reg , bit ;kovetkezo sort atugorja ha az adott helyerteku bit 1”
köszi, tökéletes, ez így sokkal rövidebb, ezt kerestem
Következő lépésnek azt szeretném ha menne futófény és ha a gombot megnyomom, akkor addig megállna, amíg nyomva tartom. Ezt megszakítással szeretném, de egyelőre lövésem sincs, hogy kell megszakítást kezelni. Annyit tudok, hogy 2 külső megszakítást tud és van vmi vektora mind a kettőnek. Hogy kell programban kezelni?
Az egyik I/O lábra rakj fel egy pergésmentesített kapcsolót és az előbb említett módszerrel figyeld a prot állapotát. Ehhez szerintem nem kell Int-et használni.
Hidd el, hogy végig kellene olvasnod egy adatlapot De itt is találsz infókat.
Sziasztok!
Sikeresen kizártam magam programozáskor az ATtiny 2313-ból Ha a BASCOM-AVR progival akarom olvastatni a konfigurációs biteket A "READLN entry not found" választ kapom Próbáltam egy külső 1 Mhz-s órajelet is adni a proci 5-ös lábára, sajnos a helyzet változatlan Az zavar, hogy nem tudom mit rontok el, mert kínosan ügyeltem arra, hogy csak az órajelet állítsam át külső quarc-ra. Van megoldás? Esetleg tud valaki olyan site-t hol van párhuzamos programozó kapcsolási rajz az atmelhez? Ha jól tudom azzal lehetne "meggyógyítani" Előre is köszi a segítséget! Laci
Szia!
Ha valóban csak az órajelforrást állítottad át, akkor annak mennie kell. De ugye nem mindegy hogy mire állítottad. Én speciel nem foglalkoztam soha tiny-vel, nála nem tudom milyen lehetőségek vannak, de a megáknál nagyon sok féle választási lehetőség van, mind frekvencia, mind oszcillátortípust illetően. Gondolom nem hiába, és ha nem olyat raksz mellé amit beállítottál, akkor nem indul el. Újraéleszteni ilyet működő külső oszci nélkül szerintem csak JTAG progizóval lehet, azt hiszem olyankor az adja az órajelet is a procinak. De ebben sem vagyok biztos, mert ilyet sem használtam még, de lassan beszerzek egyet mert nagyon hasznos dolog tud lenni a "riltájm dibagolás" is.
Szia!
Köszi a választ. Látom, hogy te inkább a Megával foglalkozol, mert ott van Jtag interface is. Lyukasra néztem az ATtiny pdf-jét, de egy fia jtag interface-re utaló sort sem találok. Pedig itt figyel az asztalomon egy ATmega16-al felépített Jtag is Azt gondoltam megadtad a megoldást, még kicsit szégyelltem is, hogy nem gondoltam erre, de sajna jtag-nak se híre se hamva...
A megszakítások lelki világát szeretném megérteni, elolvastam párszor a leírást, eddig ennyire jutottam. A PCINT7-tel szeretnék megszakítást generálni.
1. A PCMSK-ba nem tudok írni, azt mondja, hogy nem létező regiszter, pedig azt hittem, hogy ha a 7.bitjét 1-be állítom, akkor engedélyezem a PCINT7-et megszakításnak. 2. Tényleg kimenetnek kell állítani azt a lábat, amit külső megszakításnak akarok használni? Ezt olvastam, csak fura. 3. Mit kéne még beállítani? 4. Annak a rutinnak,ahol le akarom írni, hogy megszakítás esetén mi legyen, annak mi a neve? Ez nem világos. .include "2313def.inc" .cseg .org 0x0000 rjmp START .def TEMP=R16 .def VALT=R17 START: ldi TEMP, 0xDF out SPL,TEMP ldi TEMP, 0xff out DDRB,TEMP sbr VALT,5 out GIMSK,VALT clr VALT sbr VALT,7 out PCMSK,VALT sei GO: ldi TEMP,0b00001111 out PORTB,TEMP ;INT0: clr TEMP out PORTB,TEMP
Üdv. Én a képen szereplő dolgot szeretném összerakni. Kérdésem csak annyi lenne hogy az 1 és 13-25 lábak az X1 csatlakozón földre kössem vagy csak "lógjanak a levegőben?
Én is hasonlóan jártam a Mega8-al. Találtam a neten egy ParProg nevü sw-t:
http://www.e-lab.de/downloads/diverse/ParProg2.zip ami emulálja a párhuzamos programozót, és a fuse biteket alaphelyzetbe állítja Ezt írtam át basic-re és egy 8515-re töltöttem le, és működött. Csak nézd meg, hogy aznos módon kell-e a tiny2313-at páhuzamosan programozni.
Szia!
Gondolom ez egy párhuzamos portra köthető valami. Ez esetben azok csak lógjanak!
Szia!
Nem akarok túl nagy hülyeséget mondani, de nem lehet hogy a GIMSK 7. bitjét (INT1) is be kell billenteni ahhoz, hogy legyen IRQ-d a RB.0-RB.2 változásakor?
Ez egy stk200 lenne. Namármost, én ezt úgy szeretném összerakni hogy nem a céláramkörben programozni, hanem mint egy önálló "égető", IC foglalattal, saját táppal. Ehhez nincs valakinek elvi rajza? Végülis csak ezt az stk200-at kellene átalakitni. Tud valaki segiteni?
Ez nálam is így működik ahogy leírtad. Az STK-200 10 polusú csatlakozóját rádugom egy másik kis panelre amin van egy 5V-os stabkocka, és egy 20 lábú foglalat. Ha extrát akarsz tehetsz rá még egy 40 lábút is. Mellette még van egy 4 Mhz-s quarc a 4-es 5-ös lábon, illetve még egy oszci egy 74HCT14-es Smidth trigger 2 kapujából (így kell írni?) Amit egy jumperrel tudok rárakni az 5-ös lábra.
(Ki is zártam magam már vele 2 prociból) de a többi fut
Az én programozóm meg egy kettévágott printerkábel végére forasztott 5 pólusú tüskesor, és az összes procit tudom progizni.
Én úgy látom, hogy az int1 és a pcint különálló interruptok nincs közük egymáshoz.
Nem értem, hogy a PCMSK-ba miért nem tudok írni, azt mondja, hogy undefined symbol... .include "2313def.inc" .cseg .org 0x0000 rjmp START .def TEMP=R16 .def VALT=R17 START: ldi TEMP, 0xDF out SPL,TEMP ldi TEMP, 0xff out DDRB,TEMP sei ldi VALT, 0b00100000 out GIMSK,VALT ldi VALT, 0b10000000 out PCMSK,VALT GO: ldi TEMP,0b00001111 out PORTB,TEMP rjmp GO PCINT: clr TEMP out PORTB,TEMP
Szia! csak villámgyorsan mert mennem kell.
Ha az include filebe a tn2313.inc-et adod meg, akkor gond nélkül lefordul az AVRstudio assemblere alatt. Ez az include az ATtiny includéje, még a másik az a AT90S2313-é. Ott kicsit másként nevezik a regisztert. Sok sikert! (nálam lefutott hiba nélkül)
köszönöm :worship:
életben rá nem jöttem volna és így tényleg működik
Sziasztok! Vettem FT245R-t. Összeforrasztottam, ahogy kell, a pöce fel is ismerte. Csak az az egyetlen bajom, hogy nekem LPT port kellett volna ez meg csupán com akárhánynak ismeri fel. Van hozzá olyan driver, ami lpt-portot produkál vagy miként lehet megoldani?
A hócipőm kivan, hogy nem lehet egy valódi cuccost összehozni...
Az FT245 az COM portként jelenik meg, ez benne van az adatlapjában is. Amit a COM portra küldesz, az kimegy a párhuzamos lábakra, ugyanígy ha valami ír a párhuzamos portra, akkor az neked mint soros adatbevitel jelenik meg a kezelőprogramban. Mihez kellett volna?
Sziasztok!
Már megint én. Már látszik az alagút végén a fény... Kaptam egy kapcsolást egy ATMega8-al ami default (gyári) állapotba hozná az ATTiny2313-t Végül is egy párhuzamos programozó, de csak a config biteket állítja alaphelyzetbe. Az a gondom, hogy a hozzá valo firmware Pascal nyelven íródott, és nekem kicsit bele kell nyúlnom, ha az ATTinyt akarom alapállapotba hozni. Van valakinek olyan programja ami befordítja a Pascal nyelven írt forrást gépi kódba? (már az assembler is elég lenne). A neten találtam egy pasavr.exe-t, fel is mászott a gépre de fordításkor azt mondja, nem regisztrált, és így az én forrásom túl nagy neki. Ha valaki tudna segíteni írjon, és már küldöm is a pascal forrást. Ha összejön a projekt természetesen közkincsé teszem Tudom, rajtam kívül is van akinek hever a fiókba elrontott ATTiny
Sziasztok!
Senki nem tud pascal fordítót AVR-re? Sajna én amiket kerestem azok gigászi méretűek és millió olyan kérdést tesznek fel amiről fogalmam nincs. Aki ért hozzá kérem segítsen egy fordítás erejéig. Már ha asm-be lenne a fordítás azzal is boldog lennék. (nem tudok pascalul)
Sziasztok!
A segítségeteket szeretném kérni. Van egy MR-C 3024-es robotvezérlőm amiben egy ATMega128-as mikrokontroller van.Ez a Robonova-1 robotnak az agya. Van hozzá gyári cd,visualbasic-es programozófelület. Viszont sehol nem találok egyszerű könyvet vagy leírást a visual basicről, (magyar nyelven,józan paraszti ésszel felfoghatót) amiből megtanulhatnám programozni. A másik kérdésem, hogy mivel kicsi a memóriája, de RS-232-ről folyamatosan is működtethető, szeretnék a PC és a robot közé egy-egy gyufásdoboznál nem nagyobb rádiós átvitelt, hogy ne legyen útban a kábel, mint a köldökzsinór. Ami a PC-n van, az lehet bármekkora, de ami a roboton van ott nem sok a hely.(a roboton 6V-os táp van) Minden segítséget szivesen fogadok, az adó-vevőre ötletet, esetleg kivitelezőt Előre is köszi robosanyi@emailstudio.hu 06-20-436-8000 Idézet: „Van hozzá gyári cd,visualbasic-es programozófelület” 1. En nem tudok rola hogy visual basicben lehetne AVR-t programozni,arrol viszont tudok hogy bascom-ban lehet,errol meg olvashatsz a http://avr.tavir.hu oldalon. 2. Nezz szet a kapcsolasok kozott, pontosabban: Idézet: fejezetnel. „RF áramkörök, rádió technika”
Az ATmega128 hoz adtak egy jogtiszta RoboBasic (bonyásabb programfelület),
egy RoboScript (egyszerű programfelület), és egy RoboRemocon (távirányító install) progit. Azlehet hogy az AVR-t nem lehet, de az ATMega meg az AVR ha jól tudom nem azonos tulajdonságokkal bír. (ha bár én elég keveset konyítok hozzá) |
Bejelentkezés
Hirdetés |