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   501 / 840
(#) Cicow válasza Istvanpisti hozzászólására (») Dec 20, 2012 /
 
Nos valahogy igy képzelem,

PINB bit128 >> bit2 pos0>>6
PINB bit1 pos 15
PINA bit128>>bit1 pos7>>pos14

tehát, ezt szeretném látni,
azt nem tudom, hogy strobe>>15 a PINB 128as bitje-e?

Idézet:
„Nem tudom ezt akartad-e , vagy azt, hogy a pos-nak megfelelő helyen lévő bit függvényében legyen engedélyezve az LCD-re írás.
Így : if ((strobe>>(15-pos)&0x01))”


igen, ha oda érkezik bemeneti jel akkor ír karaktert - mert ez egy multiplexelt input és fontos, hogy mikor ér oda a ciklus.

strobe.JPG
    
(#) lajos1969 hozzászólása Dec 22, 2012 /
 
Sziasztok!
Egy Atmega8-al kínlódok mi lehet a gond? Programozásnál ezt írja ki!
Erről lenne szó! Fontos lenne. Előre is köszönöm ha valaki tud segíteni!!
Teljes projekt: http://radiokot.ru/circuit/light/run/26/
(#) TavIR-AVR válasza lajos1969 hozzászólására (») Dec 22, 2012 /
 
Az EEPROM-ot hibásan írja be/sérült.
Illetve lehet az is, hogy az írás előtt nem kéred külön a chip erase-t...
Vagy talán a fusebiteknél a EEPROM preserve be van kapcsolva, így nem törli...
(#) lajos1969 válasza TavIR-AVR hozzászólására (») Dec 22, 2012 /
 
Köszi mindjárt nézem! Az EEPROM preserve nincs bekapcsolva. Chip erase elvégezve a hiba ugyanúgy fennáll! Akkor csak az Atmega8 hibás, gondolom.
(#) gydanee hozzászólása Dec 22, 2012 /
 
Sziasztok!

Van egy problémám, ami egy ideje már fent áll. Adott egy arduino mega, (1280) amit fel kellene programozni. Több hónapja hogy sikerült egy 1280-asra feltenni a gyári bootloadert, most viszont nem akar működni.

Eredeti ardu IDE-vel már nem próbálkozom, összevissza állítgattam már, de sehogy se akarja felírni a bootloadert... pedig azzal lenne a legegyszerűbb. (avrdude: usbdev_open(): did not find any USB device "usb") Driverek fent vannak hozzá, AVR studio látja, és teljesen működőképes a programozó.

Eddig AVR studio-t (Kipróbáltam 4,5,6-os verziókkal is) használtam, egyenesen a gyártó honlapjáról, a programozóm egy mkII-es. AVR studio-t nem először használom, mégis valamit benézek rajta szerintem...
-Signature egyezik
-Tápfeszültség 5V
-Ardu IDE könyvtárakból (1.0.3) kiválasztom a megfelelő hex fájlt (ATmegaBOOT_168_atmega1280) Sikeresen feltöltődik, mindenhol nagybetűs "OK" feliratok jelzik.
-Beállítom a fuse biteket. Ezt a boards fájlból nézem ki. low_fuses=0xFF, high_fuses=0xDA, extended_fuses=0xF5 Szintén "OK" feliratokat kapok a folyamat végén.
- Lock bitek. Szintén boards fájlból. lock_bits=0x0F

Összességében biztató a sok "OK". Azt jelentené hogy minden helyesen lefutott. Erre megpróbálok feltölteni egy blink programot, és azon kívül hogy az FTDI chip-et felismeri semmi se történik.

Szerintetek mit rontok el?

Válaszaitokat előre is köszönöm!
Üdv.
(#) TavIR-AVR válasza gydanee hozzászólására (») Dec 23, 2012 /
 
A programmers.txt-be tedd bele:

arduinostk.name=stk500
arduinostkcommunication=serial
arduinostk.protocol=stk500v2
arduinostk.speed=115200


Lesz a tools->programmer alatt STK500-ad

tool->serial alatt a programozó COM portot válaszd ki
tool->boards alatt a Mega1280-asat
tool->programmer alatt a stk500-t
tool->bootloader beégetése
Az STK500 zörög és készen vagy
(#) gydanee válasza TavIR-AVR hozzászólására (») Dec 23, 2012 /
 
Kipróbáltam ezekkel a módosításokkal, de csak nem akar működni. Volt még 1-2 tippem, amit megpróbáltam, eredménytelenül. A preferences fájlt módosítgattam, de nem segített, úgyhogy az eredetit hagytam bent. Boards.txt-ben próbáltam még valamit alkotni, de az se segített. Most az eredeti van fent. (http://arduino.cc/en/uploads/Main/boards.txt)
Az mkII illesztőjét próbáltam meg frissíteni, de friss volt. AVR studio még mindig lát mindent. Helyes signature, tápfesz, programozó.

STK 500 volt kiválasztva, és 1280-as board. Serialt nem tudtam állítani, mert nem enged rákattintani, szürke a gomb.

Jah, és a hiba, az Ardu IDE-ből.
avrdude: Can't find programmer id "null"
Valid programmers are:
(hosszú lista, stk 500 benne van.)

Köszönöm a segítségedet, remélem sikerül kitalálni mi lehet a probléma. Kezd eléggé misztikussá válni.
Üdv

(#) TavIR-AVR válasza gydanee hozzászólására (») Dec 23, 2012 /
 
Itt a baj:
Az MKII _nem_ STK500!
Az AVRDUDE alóli használathoz másik firmware kell (ahonnan vetted - nem kaptál hozzá CD-t, leírást, tanácsokat?) A TavIR-esnél volt ilyen ill a standard firmwarefrissítéssel is működik.
*
Ha nem a normál, hanem módosított megvalósításod van, akkor ezt NE használd - mert a programozóból "tégla" lesz!

A "null" programozó pedig még pluszban valami egzotikus hibára is utal (ékezetes elérési út, hibás telepítés, hibás programmers.txt állomány).

A hozzászólás módosítva: Dec 23, 2012
(#) zombee válasza lajos1969 hozzászólására (») Dec 23, 2012 /
 
Meglehet hogy az ISP sebességgel lesznek gondok. Próbáltad már másik ATMega8-al?
(#) zombee válasza gydanee hozzászólására (») Dec 23, 2012 /
 
Ha nem a gyári cucc az mkII-d akkor érdemes lenne belemerülnöd a LUFA+libusb-driver rejtelmeibe.
AVR Studio miért is nem jó?
(#) lajos1969 válasza zombee hozzászólására (») Dec 23, 2012 /
 
Sikerült, nehezen de működik, a programozási frekit állítgattam, s láss csodát sikerült!!
(#) gydanee válasza zombee hozzászólására (») Dec 23, 2012 /
 
Hali!

Teljesen gyári az mkII-m. Az AVR studio-nál ez egy fura valami. Ahogy írtam minden folyamatnál "OK" szövegek jelzik hogy sikeres volt a művelet. (flash, fuse bits, lock bit) Viszont amikor az USB kábelt csatlakoztatom a boardhoz, és feltennék rá egy blink programot, akkor nem találja.

Jah, a libusb-vel tegnap este próbálkoztam, sajnos eredménytelenül.

Közben majd egyik haveromtól kérek tanácsokat. Neki Linuxal működött még néhány hónappal ezelőtt a programozómmal+arduino IDE-vel.

Köszönöm!
(#) zombee válasza gydanee hozzászólására (») Dec 23, 2012 /
 
A gyári AVRISP-mkII kicsit másképp viselkedik mint a klónok, így frissítgetni nem érdemes.
Így a libusb-vel sem fogsz semmire sem menni, csak a Jungo-s driverrel működik!
(#) zombee válasza lajos1969 hozzászólására (») Dec 23, 2012 /
 
Az EEPROM kb. 10x lassabb mint a FLASH memória, és cserébe 10x tartósabb.
Bár egy kicsit meglep mivel ugyanazon az ISP frekin mennie kellene amin a flash-t is programozod, kivéve:
- a programod az AVR-t a rendszer órajel leosztására utasítja
- a programod megpiszkálja az OSCCAL regisztert
(#) vipera1997 hozzászólása Dec 27, 2012 3 /
 
Hello!Szeretnék egy AVR-es gyakorlópanelt szeretnék építeni.
(#) blackdog válasza vipera1997 hozzászólására (») Dec 27, 2012 /
 
[off]És mi a kérdés?
(#) zombee válasza blackdog hozzászólására (») Dec 27, 2012 /
 
Szerintem "minden".
A hozzászólás módosítva: Dec 27, 2012
(#) michael67 válasza vipera1997 hozzászólására (») Dec 27, 2012 /
 
Mint például ez?
A hozzászólás módosítva: Dec 27, 2012
(#) sikolymester válasza vipera1997 hozzászólására (») Dec 27, 2012 /
 
Helló! Remek, örülünk, hogy ilyen jó remek ambícióid vannak!
(#) freechat hozzászólása Dec 27, 2012 /
 
Olyan megoldást keresnék amivel hangot (wav, raw vagy bármi) tudok lejátszani.
A cél egy interaktív plüssállat lenne, egy poénos ajándék miatt.
Minden készen van hozzá egy ATMega8-al csináltam meg, de most csak csipog. (Van benne pár "érzékelő" és erre reagál).

Első körben egy SD kártyára gondoltam, de az elég bonyolultnak tűnik.
(#) zombee válasza freechat hozzászólására (») Dec 27, 2012 /
 
Az SD valóban nem egyszerű, és még ha van is egy wav fájlod, a kimenetet(DAC) is meg kell oldani,
a mintavételi sebességet és szóhosszt kiolvasni, beállítani, és még hangerősítőd sincs.

A játékos cuccokban inkább dallamgenerátor szokott lenni. Előnye hogy a program és a dallam is
nagyon kis helyen elfér, hátránya hogy ennek is van némi komplexitása, a generált dallamot
hangszerezni, renderelni kell, aztán itt is vagy DAC, vagy PWM, lényeg hogy értsd is mit csinálsz.

Keress olyan projektet ahol ezeket már megoldották és neked csak a kottát kell beletenned.
Az AVR természetesen - megfelelő programmal - dallamgenerátorrá is alakítható!
A hozzászólás módosítva: Dec 27, 2012
(#) TavIR-AVR válasza freechat hozzászólására (») Dec 27, 2012 /
 
Tipp:
Wav Player

De van Bascom alá is...
Igaz ATMega328 a minimum elvárás...
(#) freechat válasza zombee hozzászólására (») Dec 27, 2012 /
 
A hangot bármivé tudom alakítani akár 8 bites 8khz-es nyers formává is.
A kimenetnél elég az amit most is tud a csipogó. (jelenleg a karácsonyi dallamokat fütyüli)
Végül is a fő problémám az adattárolás és a DAC.
Az SD kártyánál még régebben nézelődtem és arra jutottam, hogy mivel PC-n tudok rendesen programozni így tudok csinálni egy olyan programot ami átmásolja sima egymás utáni byteok sorozatává vagyis nincs szükség FAT-ra. (első 512 byte a fájlok kezdete és hossza utána meg jönnek az adatok egymás után).
Végül is lehet megpróbálkozom az SD kártyával, így csak ez a DAC ami gondot okoz...
Illetve némi segítség az SD kártyához, ha lehetséges

Amúgy nem zene, hanem hogy is mondjam természetes hangok lesznek lejátszva, mint írtam poénos plüssállat a végtermék.
(#) freechat válasza TavIR-AVR hozzászólására (») Dec 27, 2012 /
 
Egész jó, de a lowcost miatt eltekintenék a fat és egyéb memória gyilkos megoldásoktól.
Így erre esne a választásom:
atmega48

Amint néztem a kártya 3.3V-on menne és ez, ha jól látom a chip-nek is megfelelő.
Kapna egy kristályt is (lehet bele 16Mhz-st rakni ekkora feszültségen?)

A fájlrendszert meg tudom oldani 15byte memóriából. Ehhez készítek egy konvertálót delphiben ami bármilyen wav-ot képes átkonvertálni. (max 65535 db fájlt tud kezelni, és sorszámokkal lehet hivatkozni az egyes fájlokra).
8khz/8bites mintavételezéssel, bár ez csak a konktroller sebességétől és a DAC-tól függ...
Ha jól gondolom akkor az egyik megszakításba teszem a lejátszót és esetleg 256 byte-ot pufferelésre használok. Így marad elég memória a többire.

A kérdés már csak az, hogy a fenti elektronikailag működhet-e.
Vagyis 3.3V-os feszszabályzóval, 16Mhz-s kristállyal és erre hogyan kellene rákötni a legalapabb módon egy SD kártyát/foglalatot.

Ha ez összejön felrakom ide cikként, meg a delphi programot is
(Most kapott gyermekünk egy lovat amiben van egy "kapcsoló" meg egy ilyen lejátszó és 6000 Ft volt)
(#) zombee válasza freechat hozzászólására (») Dec 27, 2012 /
 
Ha ennyire pro vagy akkor nem értem, miért akarod kinyírni a fájlrendszert?
Felőlem cikkezhetsz róla, csak az a baj hogy felrúgod az alapvető szabványokat, senkinek sem lesz utánépíteni. Én speciel jelenleg is játszadozom SD-kártyával. Elég kiábrándító lenne ha bármit módosítani akarnék rajta, egy külön progi kellene hozzá a jó öreg Total Commander/Intéző helyett.
Delphi program helyett inkább egy AVR-ből való fájlrendszer kezelést írnék meg a helyedben.
Pl. a FAT16 nem is olyan bonyolult, ha pedig csak gyökérkönyvtárból dolgozol, az egész fájlrendszer kezelésed nem lesz több 60-80 sornál, beleértve a töredékek kezelését is...
(#) freechat válasza zombee hozzászólására (») Dec 27, 2012 /
 
Belefér 512 byte memóriába?
Vagyis én ahogy írtam elsősorban a ktg hatékonyságot tartom szem előtt.
ATMEGA48PA-PU
ez most csak 400 Ft.

Amihez hülye vagyok az az elektronika ezért kértem segítséget.
Hamarabb összerakom az AVR-hez és a PC-hez a szoftvereket, minthogy megépítsem ezt a kis áramkört.
(#) vipera1997 válasza michael67 hozzászólására (») Dec 27, 2012 /
 
körübelül mennyi lenne ezt megépíteni?
(#) TavIR-AVR válasza freechat hozzászólására (») Dec 27, 2012 /
 
Több 1000 darabos széria?
Csak mert az idődet így nem számolod....
(#) zombee válasza freechat hozzászólására (») Dec 27, 2012 /
 
Veled az a baj, hogy nem tudod elképzelni, miképp lehet fájlrendszert kezelni és hangot lejátszani 512 bájt memóriával, mert ez számodra nevetségesen kicsi, mivel ennek 100-szorosát megzabálja egy Delphi-s "hello world!".
És ez arra vall hogy nem ismered az AVR-t, pedig ez kell ahhoz hogy tudj programozni.
Nem fél napos művelet mire rájössz, mi mindenre elég 512 bájt memória, csak ehhez más szemlélet kell.

Magam ellen beszélek, de most neked inkább azt ajánlom, keress rá a neten hasonló projektekre.
Ez egy "alap feladat" amit a szükség hoz, és ezt már sokan megépítették, sokféleképpen!
Ha csak EZT a videót megnézed, érteni fogod miről beszélek.
Ha csak játszani akarsz egy arduino-val akkor egyél egy olyat, ha építeni is szeretnél valami hasznosat
akkor jól nézegess körbe, vedd meg az alkatrészt AMI KELL mert a sült galamb nem repül a szádba.
A hozzászólás módosítva: Dec 27, 2012
(#) zombee válasza vipera1997 hozzászólására (») Dec 27, 2012 /
 
Idézet:
„körübelül mennyi lenne ezt megépíteni?”

Ezt már hallottam valahol. Olyan emberektől akik kezükben tartottak egy kapcsolási rajzot
és komplett kiviteli tervet mindennel együtt, de fogalmuk sem volt arról hogy hogyan kell elkezdeni.
De hogy ne keserítselek el, Te még a jobbik fajtába tartozol, mert kérdezel. Ugyanis vannak olyanok
akik ugyanerre a tervre elkezdenek okoskodni hogy
Idézet:
„ezt NEGYED PÉNZBŐL is ki lehet hozni, hogyan mer a fószer ilyen sokat elkérni érte, én ezt pillanatok alatt összedobnám a sufniban, csak tudnám melyik a páka hideg vége, maaaajd én megmutatom nekik!”


Szóval én egy ilyen vagy hasonló panel megvásárlását ajánlom a számodra
egy olyan embertől, aki már épített ilyet és tudja mi mennyibe kerül.
A hozzászólás módosítva: Dec 27, 2012
Következő: »»   501 / 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