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
Köszi a tippeket, adtam órajelet a bemenetére, és ezután újra lehetett égetni.
Hellosztok!
Találtam itthon egy régi Orion TXT panelt. Ezt szeretném avrrel TVre kötni és karaktert megjeleníteni. A panelon tokban van egy SAA5052-es, adatlap szerint karakter generáló. ezen kívül van egy: -SAA5030 -SAA5020 -SAA5041 -és néhány TTL IC. Namost, az egész panelből sztem csak az 5052 kell. csak nem esett le a vezélése. Várom az ötleteket ennek az alkalmazásához, mert sokkal látványosabb és olcsóbb mint egy karakteres LCD! Segítségeteket előre is köszönöm: Hurka
Na a programot sikeresen ujrairtam be lett szerelve minden, csak 3LED-et ki kell majd cserélni mert nem birták ki a lábhajlitgatást. Mikor minden meglessz akkor teszek fel képeket.
Azt szeretném kérdezni hogy ma nekifogtam C-be usart-al foglalkozni. Ahogy nézem egyszerre 8bitet lehet kiküldeni azaz 1 Bytot. Amit kiküldök meg is kérkezik a Virtual Terminal-ra karakter formájában. Probálgattam az unsinged int-et átküldeni az adatlapba levö példaprogrammal de szintén csak karaktereket kapok. Arra gondoltam hogy kiszedni az int elsö felét egy bytba, kiküldeni, kisiftelni 8-al a számot, kiküldeni a másikfelét is. Vagy karakterláncá alakitani és kiküldeni karakterenként. A másik kérdés hogy vezetéknélkül meg kéne oldani soros adatátvitelt. Gondoltam teszek egy 555-öst a Tx-re és modulálom 36Khz-be az infrát, a másikoldalon meg egy Tsop-al venni a jeleket. Vajon mekkora sebességet érnék el kb 25cm-re kéne. Ui: és féreértések elkerülése érdekébe AvrGcc c-be avr studioba.
Hello!
Szerintem a karaktereket az őket megjelenítő program kreálja úgy, hogy a számokat ASCII karakterkódként értelmezi. A char 8 bites az int pedig 16, tehát USART-on egyszerre csak egy char, vagy egy "fél" int fér be a shift regiszterbe. A Vezeték nélküli átvitel maximális sebességét a TSOP adja meg, ez szerepel az adatlapján. Idézet: „Suitable burst length ≥ 10 cycles/burst” Ez azt jeleni, hogy legalább 10-et kell "villantanod" bitenként, azaz 36kHz-en 3,6kBaud lehet a max sebesség. Üdv: Zsolt
Tiszteletem!
Én is kezdőként kérdezek: Egy gong hangját szeretném előállítani ATTiny85-tel. Az első feladat egy 8kHz-es interrupt. Az istennek sem indul el a timer1. A timer0 fut de azzal meg nem tudtam pontosan beállítani az osztót. Miért nem indul el a timer1? AVRStudio 4.13 SP2-ben szimulálnám. A kód: init: cli ldi r16, 0x00 out PLLCSR, r16 ; timer1 rendszer órajelről jár, nincs pll ldi r16, 0x7D out OCR1C, r16 ; ennyit kellene számolnia (előosztóval 500-at oszt) ldi r16, 0b10000011 out TCCR1, r16 ; OCR1C-t elérve nulláz, előosztó:rendszerórajel/4 Mit rontok el?
Köszönönöm a választ. 3600Baud max- szerintem nekem kevés lessz
Most belefogtam a Masterfoxx csengőjébe használt AT45DBxxx memóriák bizgetésébe. SPI-n keresztül kommunikálnak. Kell keressek egy példaprogit hardveres SPI használatára, mert ahogy elnézem Masterfoxx softveres SPI-t használt hogy szabad legyen a teljes B port.
Hello!
Nekem már sikerült beüzemelni a hardveres spi-t... de a szoftveres se épp nagy kunszt. keress msn-en ha kell segítség. Üdv!
Hello!
cli-vel kikapcsolod az interruptokat... nem kéne visszakapcsolni? (sei) Hi!
Azt már nem másoltam be. A baj, hogy egyáltalán nem pörög a számláló. Egyet sem lép. Így az int sem jön meg soha. Annyira egyértelmű a beállítás, hogy szimulátor hibára gyanakodtam. Nem találtam ilyen bug-ot a Net-en.
Hello!
OCR1A, OCR1B, és OCR1C is a timer1-hez tartozik. Szerintem ha ebből 1-et használsz, és a másik 2 0x00, akkor nem "megy", vagyis már ez első periódusban, avagy rögtön utána nulláz, tehát mikor 1-re billent, akkor nulláz, tehát nem megy sehova. A hozzá tartozó flag folyamatosan 1. Amelyiket nem használod, azt állítsd 0xFF-re... Üdv! U.I.: Remélem segít...
nem tudja valaki, hogy mi a jelszó a BZ: Mikrok. alk. új jegyzetének pdfjéhez?
A jelszót nem tudom, viszont nekem megvan az egy évvel ez előtti. Nem tudom, hogy mennyit változtatott rajta, de ha az megteszi emailben el tudom küldeni.
Sziasztok!
Letöltöttem a winavr-t mert szerettem volna lefordítani egy .c forrást attiny-hez. Annyira :lama: vagyok, hogy nem jövök rá, hogy hogyan lehet .hex-et készíteni. Ha nem nagy fáradság, leírni vki-amolyan szájbarágósan? Köszi előre is!
Esetleg más program javaslat? Olyasmit szeretnék aminek van grafikus felülete és nem parancssori...
Légyszi!
Megtalálod a Programmers Notepad-ot(make all),meg a AVRstudio4-et is feltelepítheted,de a lényeg nem ezen van hanem a makefile használatának ismeretén.Szerintem jobban jársz ha megadod a forrást és valaki lefordítja neked.
Köszönöm a segítséget!...de, többször is módosítani kell majd a forrást (kísérletezgetek). Jajj, Istenem! Miért nincs vmi egyszerű megoldás mint PIC-nél az MPASM??
Hello!
El ne keseredj, van megoldás!!! Feldobod az AVRStudio-t (ingyenesen elérhető) aztán utána a WinAVR-t... ezzel kész is. A WinAVR könyvtárában az avr\include\ könyvtárban találsz hasznos headereket is, az AVRStudio nem biztos, hogy látni fogja, ha a project beállításaiban nem adod meg neki, hogy itt is keresse. (ne másold ki őket, mert össze-vissza hivatkoznak egymásra) Üdv: Zsolt
Okés, köszi! Még nem látok tisztán, sajna, hogy mit is kell majd csinálnom...
Üdv!
Tényleg kicsit felhősen fogalmaztaqm, sajnos siettem mikor írtam... Remélem addig tiszta, hogy mit kell feltelepíteni. (AVRStudio, WinAVR) A project-ben pedig meg kell adni, hogy hol keressen importálható headereket, mert másképp nem találja meg őket. A csatolmány remélem kitisztítja a képet...
Mindegyikbe ugyanazt írtam. Nem lép a számláló.
Használ valaki .sti fájlt. Nekem nem jelenik meg a portB-n az érték amit beírtam. Az in utasítás után szeretném látni de nem jelenik meg.
A DDRB 0b00110011 a PORTB 0b00110011 Ettől a bit2 és bit3 bemenet, a többi kimenet. A sti fájl: 000000001:0C 000000256:0C 999999999:0C Mégsem jön be az 1-es a 2 és 3 bitre.
Üdvözletem minden kedves AVR-el foglalkozó fórumtársnak!
Egy ideje Topival elkezdtünk írni egy cikket az AVR-ekről. C nyelvre kihegyezve hasonló felépítésben mint a PIC-es cikksorozat. No de a többi legyen meglepetés. Most került szóba a programozó kérdése. Mindkettőnknek USB-s programozója van csak. Viszont a cikkben valami igazán olcsó, népnekvaló programozót kellene bemutatni. A neten tengerszám van 74*244-es IC-vel felépített ISP letöltő. Ez pont megfelelne a célra. Holnap igencsak csinálok én is egyet, de az kipróbálás NEM helyettesíti a rendszeres használatot. Szeretnénk egy jó bevált, megbízható kapcsolást közzétenni. Sajnos tesztelni nincs vele időm mivel nincs LPT portom. Tehát tanácsokat, illetve tapasztalatokat várnánk azoktól akiknek van ilyen letöltőjük.
Hello!
Tényleg repkednek a neten a 74*244-es IC-s LPT-s progizók, ezek STK 200/300 kompatibilisek. Nekem is ilyenem van. A dolog lényege valójában, hogy nem terheli meg az LPT portot. Egyébként elméletben, illetve ha a céláramkörben csak az AVR kapja a tápot, akkor nem kel semmilyen ketyere, csak bekötni megfelelően az LPT-re (próbáltam, sikerült) persze ez alaplap/kártya függő. De! Mégis megbízhatóbb a csatolmányom, amely a céláramkörből táplálkozik, viszont nekem volt vele egy problémám: - Amikor bele építettem a jelző LED-et is, akkor a védődiódán akkora feszültség esett, hogy nem ment megbízhatóan a programozás... cirka minden harmadikra sikerült. A problémát a dióda rövidre zárásával, és fokozott figyelemmel oldottam meg. Ekkor felfigyeltem egy fura jelenségre: TÁP NÉLKÜL IS MŰKÖDIK Ez azért van, mert a RESET lábat programozás után H szintre emelve indul az AVR. Ez a H szint szolgáltat annyi energiát, hogy elindul az AVR, illetve a programozására is van lehetőség. Utóbbihoz köze van az 1µF-os tápszűrő kondinak is Programozásra én a BASCOM-ot használom, mert eddig csak ezzel sikerült beállítanom a fuse biteket. Fejlesztőkörnyezetnek az AVRStudio-ra voksolok, és mellé a Win-AVR a C nyelv miatt. Remélem jó kis cikk lesz! Üdv: Zsolt
A LPT portos STK200/300 kapcsolásokból van egy pár. Nálam a STK200 készült el, ebből már >50 darab felett.
A 74244-es ICből érdemes a CMOS változatot begyűjteni, mert ekkor a 3.3V-os áramkörök is programozhatóak. A bufferelt "hátránya" hogy a céláramkörből veszi a tápfeszültséhget, ezt jópáran elfelejtik a használatnál. Így meg a parazita tápja lesz meg az ICnek, a bemenő védődiódákon át az LPT portról illetve a céláramkörből. Általában ez is működik, de nem építenék rá. A Bufferelt azért javasolt, mert az újabb LPT portok - fügyülve a szabványra - nem 5V TTL jeleket adnak ki, hanem 3.3V-os jelekkel dolgoznak! A buffernélküli működése igen erősen LPT port függő. A 244-es IC kimenetén az AVR panel felé ne legyen a szalagkáben hosszabb mint 40-70 cm. Ennél hosszabb esetben a programozási sebességet lejjebb kell venni, és néha mindenféle áthallásra is számolni kell. ezért jó a 10 eres szabványbekötés, mert ott felváltva megy a GND és a jelvezeték. A 6 tüskés esetén a jelvezetékek közvetlenül egymás mellett mennek! A programozási sebesség fontos: Max a chip órajele 1/4-e legyen (max 40% lehet elvileg - Nquist-szabály (remélem nem írtam el) alapján). Az ICnek _önálló_ órajelének kell lennie, órajel nélkül nem működik a programozás sem! (legalábbis a SPI alapú) A PC-n Win alatt került kipróbálásra a programozó. Ponyprog (hülyén vannak a beállításai), TwinAVR, Bascom, AVRDUDE biztosan megy. Programozási módokban a SPI aleggyakoribb (5 szál drót/bufferelt), illetve a HighVoltage serial/paralell még elterjedt. Egyesek a nagyobb chipek esetén a debuggal kombinált JTAG alapúra szavaznakl. STK200 szemében tetszhalott ICk általában a hibás órajel miatt nem élednek fel, ekkor a XTAL1/2 lábra külső 1MHz...16MHz órajelet kell adni. De ha a kisebb ICk resetlábát sikeresen letiltottuk, akkot a STK200 alapú programozás nem megy (RESET láb jelzi, hogy PRG alatt vagyok). Ekkor csak a HighVoltage mód segít. Viszont a HV módokban az elállított órajelek is beállíthatók, mert ekkor a programozó biztosítja az órajelet is, nem az AVRre van bízva. A LPT-s programozó USB-LPT átalakítóval nem megy, mert _direkt_ lábcímzéses I/O módok nem állnak implementálva a USB alatt. Laptopon vagy USB-s programozó, vagy PCMCIA alapú LPT port jöhet szóba (vagy van a laptopon LPT port) Órajelekről pár szó: Órajelekről pár szó Külső órajel: Külső órajel (lapvége) Talán segítettem... Egyéb SPI-s programozók a soros/USBportra (USB-soros átalakítóval): STK500 illetve AVRisp alapúak.
Sziasztok!
Köszönöm szépen a választ mindkettőtöknek. Pontosan ilyen tanácsokat vártam. A cikkben szereplő próbapanel külső tápos lesz, és majd külön felhívjuk a figyelmet a programozós dologra. Köszönöm mégegyszer a segítségeteket.
A panel - ha nem csatlakozik másra csak PCre (pl. LCD bemutatás, sorosport, LED), akkor az USBről is kaphat tápot (csak a +5V levétele elég, de itt figyelni kell az LCDháttérvilágításra, mert az szép nagy áram is bír lenni!).
Az USB-nél én ~250-300 mA-l számolnél, mégha a szabvány 500mAt is ír (laptopok esetén ~300mA a limit....). Én az oldalaom amikor az AVR+Bascomot "tanítom" akkor a LED, sorosport és a LCD az az ami az indulás. Onnan lehet továbbmenni bármerre .... (Én pl. most RS485 ipari busz és a WEBszerver felé )
Szia Róbert!
A cikk két részre lesz bontva. Első részben a belső felépítést, a főbb beépített perifériák kezelését fogjuk bemutatni. Csak némi LED, gombok, piezzo, max232 semmi több. Nem akarok USB-s tápot mert abból csak levél hamok, meg elfüstölt alaplapok lesznek. Fogjon mindenki egy 7805-öt vagy egy zsebtelepet, és csókolom. Majd a további részekben tervezem a külső eszközök bemutatását. Az első hardveres szívás már elkezdődött.... Van egy eposz féle AVRstamp itthon. Hát miért is kellene szabványosra csinálni azt az ISP csatlakozót... Táp nincs kint rajta, Legalábbis a digimann féle csatihoz nem jó. Gyanítom hogy amit a rajzon adott az a szabványos, mert ezt látom mindenhol. Na mindegy csak a szokásos hétköznapi egyéni szociális problémák jönnek megint.
Lenne egy kérdésem SPI-vel kapcsolatban. Valahogy nem boldogulok vele idáig eljutottam
Az USICLK az strobebit. Ha 1-re állitom a kimeneti regisztert egyel eltólja. Elértem hogy a kimeneten megjelet az órajel,de adat semmi.
A belinkelt rajzon ami a #1350-es hozzászólásban van Digiman billentyűzetéből, az a _szabvány_ atmeles kiosztást tartalmazza. Kultúrpanelek és csatlakozók ez alapján vannak megcsinálva.
Az eposz honlapján (most naná hogy nem érhető el) elvileg kapcsolási rajz is volt kinn egyes paneljeikről - de mintha ott is ez lenne... Nem a Portkimeneti csatlakozót sikerült megtalálni? A szabványtalan bekötések, egyéni megoldásoktól én is a falon szaladgálok néha.... Ezért van ott annyi lábnyom. Az USB-vel meggyőztél. 7805+12V fali tápdugasz. Onnan meg aki megsüti, vesen magára. A mai alaplapokon az a régi védelem, hogy 700-750 mA áramfelvétel esetén lekapcsol - a múltté. Nálam a régi PII-COMPAQ alaplap még tudja. Ezért van is használva ezen az USB ezen _szabványban is rögzített_ funkciója... Az AVR chipek esetén a normál jelűek 3.0....5.5V közt működnek, az L illetve a kisfeszültségűek 1.4...5.5V közötti fesztartományból. |
Bejelentkezés
Hirdetés |