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   97 / 840
(#) Topi válasza kocsma hozzászólására (») Jan 25, 2009 /
 
Hogy sikerült fordítva rákötni a tápot? A programozónak nem kell külön kívülről tápot adni!
(#) kocsma válasza Topi hozzászólására (») Jan 25, 2009 /
 
Végül is nem titok, olyan usb aljzatot raktam fel, amibe fordítva megy bele az usb csatlakozó, és csak bekapcsolás után vettem észre.
(#) Sir-Nyeteg hozzászólása Jan 25, 2009 /
 
Újra elővettem AVR Stúdiómat, Immáron másodszorra, mivel vége van a vizsgaidőszaknak.
Csakhogy első nekifutásra nem működik. Visszaolvastam mindent, amit elsőre is, de nincs meg a megoldás... Valami a makefile-lal van. Azt hiszem.
A build gombra kattintva ezt írja ki (kép). És nem csinál hex fájlt, mi lehet a baj?
Köszi a segítséget.
(#) Topi válasza Sir-Nyeteg hozzászólására (») Jan 25, 2009 /
 
Hozzáfűztél forrást is meg minden? Az egész képernyőről küldj printscreent. A teljes build ablak tartalma is kell.
(#) Sir-Nyeteg válasza Topi hozzászólására (») Jan 25, 2009 /
 
Procit, clockot beállítottam, program bemásolva egyik nyolclábú cikkből. Ha megnyitok egy "régebbi" programot, akkor annál lefut a build, de ennél nem. Lehet hogy azért mert másik mappába mentettem?
Nem ez a baj. Próbálkozok, de semmi.
(#) Sir-Nyeteg válasza Topi hozzászólására (») Jan 26, 2009 /
 
Másik régebbi(múlt heti) programot tudok módosítani, az működik, tehát vagy valami új program esetén fennálló beállítást felejtettem el, vagy a mentéshez kéne a mappában lennie valami másik fájlnak is
Második mentett programom lenne.
(#) kiborg válasza Topi hozzászólására (») Jan 26, 2009 /
 
Szia!

Közben fejlődtem. Néztem szkóppal, de nem hozott eredményt.Nem találtam burkológörbét, de még vesézem.
Hacsak nem a TEST POINT nem az ?
Adatlapja a vevőnek
33pF-as kondival szűrve van a táp, 17 cm-s antenna van(nem a távolsággal van gondom)

Jelenleg elemről megy/próbálgatom járatni.

Ellenben lenne egy kérdésem:
hogy a fenébe szinkronizál össze az adó és a vevő ???
Honnan tudja a vevő, hogy mikor jön az igazi start bit és nem csak valami zavar ? Hogy lehet, akkor így átküldeni bármit is, ha más belepofázik ? 1 megveszekedett byte-ot szeretnék 1x átküldeni, de egyszerűen soha nem sikerül !
1200bit/sec-re van beállítva a vevő és az adó is.

Kiborg
(#) kiborg válasza kiborg hozzászólására (») Jan 26, 2009 /
 
Nézegetem a Topi féle 433,92 MHz-s cikket és feltűnt, hogy minden jel úgy kezdődik, az adat vonalat az adó lehúzza 0 szintre (pl:start bit).
Namost nálam ha nincs jel, akkor a vevő kimenete 0 szintű !
Okozhatja ez a szinkron és vételi problémáim egy részét ?
Szoftveresen ki lehet ezt küszöbölni ?
Ha megnézitek az adatlapot, sehol nincs jelölve, hogy kellene neki egy felhúzóellenállás, vagy bármi ? Igazam van ?

Kiborg
(#) matrix64 válasza Sir-Nyeteg hozzászólására (») Jan 26, 2009 /
 
Nevezd át a forrásfájlt main.c -re vagy a make fájlban írd át a TARGET= sort a fájl nevére.
(#) kiborg válasza kiborg hozzászólására (») Jan 26, 2009 /
 
Naszóval!

Az van, hogy az adó 20ms-onként kiküldi a 0xD2 kódot, ezt ki is megy, nincs is vele gond.
A vevő is veszi többé kevésbé folyamatosan (a kimenetre 8 db led van kötve), de be-be villan egyéb más kód is.
Annyira érzékeny az egész, hogy ha mozgok, már vátozik a vett kód !!! Holott az adó és vevő kb 2-3 méterre van egymástól.
Nem értem az egészet.

Kiborg
(#) kiborg válasza kiborg hozzászólására (») Jan 26, 2009 /
 
Tök jól elbeszélgetek magamban.

Ha átküldök egy adatot, honnan a csudából tudjam, hogy az jó vagy rossz ? Mi alapján döntsem el ?
Az nem megoldás, hogy pl 20 alkalommal küldöm el és egy majdcsak jó lesz, mert honnan tudjam, hogy melyik az érvényes kód ? Ördögi kör.....
Vagy alkalmazzak crc-t ? de milyet meg honnan ? És ha a crc átvitelébe csúszik hiba ?

Én jelenleg kezdek kételkedni abban, hogy ez a technológia alkalmas 1 byte biztonságos stabil átvitelére, a hiba valsz bennem van.
(#) szliczki hozzászólása Jan 26, 2009 /
 
Sziasztok!
AVR-ISP programozót vettem HE-storetól. Sikerült összeraknom, a ledvillogató is működik AVR studioval. A kérdésem az lenne, hogy Bascom alól elméletileg tudom-e használni a programozót, mert nem sikerül vele letöltenem egyik üzemmódban sem.
Köszi.
(#) HERC válasza szliczki hozzászólására (») Jan 26, 2009 /
 
Össze lehet mókolni az STK500.exe kell hozzá ill.
azt kell beállítani.Az avr Dude-al is müködik de
arra nincs tapasztalatom.

ui.:Én maradtam a hagyományos stk200 buffer IC
módban.(azzal jobban müködik)stk500 meg a
fuse bitek...hááát nem igazán stimmel..(bascomban)

(#) Sir-Nyeteg hozzászólása Jan 27, 2009 /
 
Szeretnék készíteni egy időzítőt AVR-rel. Ami visszafelé számol pl 8-tól percenként. Ez eddig nem is gond, megvalósítható. Csakhogy szeretném ezt egy attiny45-tel megcsinálni, aminek viszont kevés a lába egy hétszegmenses kijelzőhöz, vagy akár egy 8-as ledsor meghajtására. Gondoltam a hőmérős cikk alapján ledsor meghajtására, azaz SPI buszon keresztül.
Tud valaki ehhez egy mintaprogramot, avagy magyarázatot adni, mert sajna még nem jöttem rá, hogy hogyan működik. Néztem adatlapot, és a cikksorozatbeli mintaprogramot is, de ez eddig kevés.
Vagy egyszerűbb lenne venni egy Atmega8-at, aminek van elég lába egy 7szegmenseshez?
Köszönöm!
(#) kiborg válasza Topi hozzászólására (») Jan 27, 2009 /
 
Na üdv megint!

Következő a helyzet.
Összeállítottam egy olyan keretrendszert, hogy 0xA5, 0xA5, adat.
Az adat jelenleg csak négyféle érték lehet (0x56,0x45,0x6B,0x65).

Két 0xA5 vétele után érkező adatot érvényesnek tekint, ha a fenti négy érték közül az egyik.

Az adó rész 20szor egymás után küldi el az információt.
Próbálgattam úgy is, hogy küldések között szünet, vagy 10 adat, szünet, 10 adat, és egyéb formátumok.

Ezeknek ellenére sem stabil az átvitel. 10ből 8-9 sikeres átvitel, de fontos volna, hogy MINDEN átviteli kísérletből legalább egy csomag célba érjen.

Milyen ötletetek lenne, amivel a stabilitást lehetne növelni ?

Kiborg
(#) spikk válasza Sir-Nyeteg hozzászólására (») Jan 27, 2009 /
 
Nem tudom, hogy hány lábat használsz másra, de ehhez 4 elég szerintem akkor is, ha a 0-t is szeretnéd látni.
Binárisan adod a jelet, 2^4 = 16 lehetséges, ha 0 nem kell, akkor 3 is elég.
(BCD kódolást implementálsz és egy BDC-7szegmens dekóder IC-vel (pl. 74LS47) mehet a kijelzőre. A másik verzió, hogy binárisan adod és kikapuzod egy ledsorra.)
Ebben a cikkben egy megvalósítást is találsz.
(#) spikk válasza kiborg hozzászólására (») Jan 27, 2009 /
 
Vannak hibajavító kódolások is, amiknél nem csak hogy észreveszed, ha rossz, de számítható az eredeti is.
(Persze az, hogy hány hibás bit javításának képességét szeretnéd elérni, meghatározza a méretet, de valamit valamiért...)

Nézd meg például ebben a cikkben a Manchester kódolás fejezetet.
(#) kiborg válasza spikk hozzászólására (») Jan 27, 2009 /
 
Szia!

Ezeket már többször átolvastam, mint ahány lapja van.
A manchester kódolás arra jó, hogy ha letiltana az adó a hosszú bekapcsolás miatt, ne tegye.
Nekem nem derül ki belőle, hogy hibajavító v. hiba felismerő lenne.

Tudod megszoktam, hogy a vezetéken ha dolgozol, elég egyszer elküldened valamit és az megérkezik, de itt!!!!

Kiküldöm 20x és nem jó !!!
Csak fogalmam sincs, hogy miért

Nem stabil az átvitel, van, hogy átmegy a cucc, de van, hogy nem.
(#) spikk válasza kiborg hozzászólására (») Jan 27, 2009 /
 
Abban igazad van, hogy ez nem hibajavít. Cserébe annyiban könnyíti az átvitelt, hogy eléggé váltakozó lesz a jeled, akkor is, ha egyformákat küldesz, meg akkor is, ha nem (pl. 1111 --> 10101010, 1010 --> 10011001).
Ha jól rémlik, akkor ezt nevezik jel kondicionálásnak.
Ha e mellett is rossz az átvitel, akkor lehet még tetézni a CRC és hasonlókkal. Suliban tanultunk ilyet, csak tuti nincs anyagom, mert buktam a winchesteremet.
(#) HERC válasza Sir-Nyeteg hozzászólására (») Jan 27, 2009 /
 
Üdv!
Az elözők válasza is remek de csinálhatod azt is hogy
veszel egy I2c i/o bővítőt (pl.PCF8574 vagy ami épp
kapható) adatlapok nagyon jól leírják mit hogyan kell
programozni ill. itt-ott lehet mindenféle .lib forrást
is letölteni hozzá. I2C lcd ill. keyboard sőt
tovább megyek még az is lehet hogy kapni ilyen hardwaret.

ui.:Én ezt az ict használom nem teljesen ki (8 bites
i/o bővítő) egy 5 gombos billentyűzetnél.
Az icnek van egy olyan lába ami magasba megy át
mindeféle portváltozáskor (alacsonyból magas ill.
fordítva 8 biten(hármat nem használok, ötöt
magasba kényszerítek 10K ellenállásokkal))
az interrupt lábat meg figyelem int0 lábbal az avren.
(bár én most mega16 ot használok)( hely nem számít de pár száz forintos külöbség miatt nem akarok szűkölködni i/o lábakban)
És aztán kiolvasom a 8 bitet (byteban lehet nyugodtan
egy fordulóban olvasni)
És még időt is csak akkor vesz el mikor interrupt van.
(#) vzoole válasza Sir-Nyeteg hozzászólására (») Jan 27, 2009 /
 
Szerintem nehéz 4 lábrol üzemeltetni.

A multiplexerrel az a gond szrintem, hogy a kimenetei lineárisan nőnek és a 7 szegmensen kijelzőnél pedig "össze-vissza" kell kapcsolgatni a bemeneteire a feszültséget.

Persz gondolom létezik cél multiplexer 7 szegmenses kijelzőhöz is, de akkor már egyszeűbb és praktikusabb egy tiny2313-ast venni.

Maga a program egyszerű, ha leírod pontosabban a követelményeket, segítek.
(#) HERC válasza vzoole hozzászólására (») Jan 27, 2009 /
 
Vagy akár egy 2x20 karakteres kijelzőt.
Könnyebb programozni.
(#) IMi válasza Sir-Nyeteg hozzászólására (») Jan 27, 2009 /
 
Hello!
Egész véletlenül szaladtam bele : Bővebben: Link
(#) HERC válasza IMi hozzászólására (») Jan 27, 2009 /
 

OFF:És ugye a szöveg meg nem arról szól hogy,
a kapcsolási rajzot kötheted akár vegyi bombára
vagy valamelyik harcosra a szent ügyében....
(#) Dancsi hozzászólása Jan 27, 2009 /
 
Üdvözölök mindenkit!
Pár oldallal ezelőtt kérdeztem valamit egy Atmel-lel kapcsolatban, hogy hogy tudnám beprogramozni, aztán kiderült, hogy csak memória... Abból még a héten csinálok egy "2kb-os LPT portos pendrive-ot" (így neveztem el ).
Most viszont más a gondom. Találtam itthon mikrovezérlőket, csak még nem tudom, hogy tényleg azok-e? A típust képen látni. Én úgy vettem ki, hogy ezek mikrovezérlők, amiket UV fénnyel lehet törölni.
Kerestem hozzá égetőt, de még nem találtam. Az lenne a kérésem, hogy ha tudnátok hozzá egy égető kapcsolást adni, nagyon megköszönném. Lehetőleg egyszerű legyen, és esetleg olyan, hogy a programot tesztelni is lehessen róla. (nem ismerek szakszavakat, próbáltam érthetőn leírni ).
Feltettem róla képet, meg az adatlapját.
Előre is nagyon köszönöm!
Üdv.: JĐ
(#) tom793 válasza Dancsi hozzászólására (») Jan 27, 2009 /
 
Szia!

Sajna nincs szerencséd, mert ez is csak egy memória. Benne van a nevében is: NMOS 32K (4K x 8) UV EPROM
Vagyis 32K-os EPROM memória.
(#) HERC hozzászólása Jan 27, 2009 /
 
Ki kell hogy ábrándítsalak ezek UV epromok.
Amiket UV -vel lehet törölni.
Ezekhez drága a programozó is.(főleg mert párhuzamos kell hozzá)
Ezek is memória csak nem ram hanem rom.(read only
memory)

Ajánlom figyelmedbe a magyar félvezetős boltok online
árukészletét ahol ha a tipusra rákeresel itt-ott még
magyarul is ki van irva az elnevezés.Sokat tud
segíteni az elején.(a tech. angol kemény dolog)
Meg esetleg tudok ajánlani antikváriumokat ahol magyarul is kiadtak régen tranzisztor ill. digitális,
analóg ICatlaszokat.(Ezek nem hiányozhatnak a polcról)

(#) tom793 hozzászólása Jan 27, 2009 /
 
Srácok tudnátok nekem segíteni?
Találtam itt egy remek cikket: "Első AVR programozóm"
Sikeresen után is építettem. A kérdésem az lenne, hogy használható-e ez Bascom-AVR programozóval is?
Ha igen, akkor mit kell beállítani neki az égető beállításoknál?
AVR ISP programmer-t???
netán USB-ISP programmer-t???

Előre is köszi!

(#) HERC válasza tom793 hozzászólására (») Jan 27, 2009 /
 
nem olvastam a cikket de ha soros portos akkor
avr isp programert kell beállítani ha printerportos akkor
pedig stk200 -at
(#) HERC válasza tom793 hozzászólására (») Jan 27, 2009 /
 
Ha meg usb-s akkor stk500.exe-t kell szerezni hozzá.
De ha megvan a comp. Hex file azt beírhatod az avrstudio(dude)-al vagy ponyprog-al akár.
Mikor legutoljára próbáltam az usb-isp programozóm
még hadilábon állt a -bascommal.

ui:Irtam kb 2-3 oldallal elébb..
Következő: »»   97 / 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