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
Teljesen igazad van, a hidegitok kellenek. Csak jelen esetben nem az AVR nem mukodik, hanem a flipper, amikor Cicow rakoti az aramkoret a flipper panelra. A flipperben pedig benne vannak a tapszuresek, es ugy altalaban nagyon korrektul megtervezett HW, abban biztos lehetsz. Ha megnezed a flipper rajzot, ott lathatod, hogy a kapcsolo matrix bemenetektol a PIA chip-ig eleg sok szuresen megy at a jel.
Ha ez az aramkor megzavarja a flipper mukodeset, az szerintem nem normalis. Elvileg csak passzivan figyeli a flipper jeleit, nem kellene, hogy gondot okozzon. A flipper bemenetei jol szurtek, ott nem hinnem, hogy bejut valami zavarjel. Kivancsi lennek, hogy mi tortenik, ha kiszeded az Atmel-t a panelodbol (ha lehet), vagy csak fixen RESET-be teszed, hogy tutira ne tudjon a J10 csatlakozo fele jelet kiadni. Mindazonaltal, tudnal csinalni egy fenykepet a megvalositasrol? Itt szerintem olyasmi gond lesz, hogy pl. tul nagy kapacitasu, hosszu szalagkabel, rossz helyrol elhozott tap, fold, ilyesmi. Az igazsag az, hogy ra kellene merni szkoppal a jelekre.
OK! Ha nem hisztek az öregnek? Hát tépjétek a hajatokat!
1. Az alulméretezett felhúzok? Számolj, ha pl. 4*1K párhuzamosan bekapcsol, kb.200ohm megrántja a tápot? 2. Ehhez rájön, hogy gerjedd az egész IC a zajban? Amit a mérések során nem is észlelsz. A többi lehetőséget épp felsoroltad.
Azért van az egész rendszer tele szűrő kondikkal, mert sajnos kellenek oda.
Ha megnézel valamilyen alaplapot, a Proci alatt 100-ával sorakoznak. Nem passzióból vezetik ki annyiszor a GND – VCC párost, mikor minél nagyobb lábszámú a tok annál drágább a gyártása.
En ugyan nem tepem a hajam. En csak annyit mondtam, hogy nem az AVR-rel van a problemaja a kerdezonek. De az lehet, hogy az AVR mehulyul, es beleszol a jelekbe. Ezert javasoltam a chip kiszedest. Azt nem ertem, hogy milyen IC gerjed, milyen zajban.
Az opto-s megoldás hajnalban lett kész ezért csak munka után tudom tesztelni, kb 40cm szallagkábel.
AVR nélkül megpróbálom - sajna reggel már nem volt rá időm De a táp vételi hellyel is próbálkozok most a SR14 ről veszem de elteszem a táppanelra. És a zavarszürőt is beteszem Ezek már mutatnak valami utat, azt hittem teljesen reménytelen a designom és csak feleslegesen dolgoztam 40 órát.... Lefotózom a Idézet: köszi nagyon jó fejek vagytok, hogy ennyit foglalkoztok az én nyűgömmel. „mesterművet”
kép 1 a két csatlakozó rákötése, J8 csak 5 bit kell mert nem minden oszlopot használ a mátrixban.
kép 2 Attiny 2313 + 2x optocsatoló kép 3 J10 zoom a piros csikos az 5v táp kép 4 J8 zoom kép 5 panel hátulja kivett AVR-vel sem müködik a flipper.. A hozzászólás módosítva: Márc 28, 2014
Nincs otletem. Merni kellene, szkoppal. 40cm szalagkabeltol nem kellene megbolondulnia. Az optok sem jelentenek akkora terhelest, hogy gondot okozzanak. Viszont az ATmega-ra tenyleg kellene egy 100nF a tap labai koze, es nem artana egy 47..220µF elko sem vele parhuzamosan.
Ez a panel még csak félig van készen.
Nem látom a 10K felhúzókat az Attiny bemenetein, úgyszintén a Reset lábra is kellene 10K felhúzó. Az elkötést, vagy zárlatot nem tudjuk innen megállapítani. Az Attiny 10. lába GND mintha nem lenne bekötve? Vagy a fekete vezeték a 9.-en mintha testre menne?
A kötéseket DMM-vel teszteltem zárlat nincs, a táp és a föld is jó (oldalról forrasztva)
10 k felhúzók nincsenek mert az AVR belső felhúzóit használom. A gond az, hogy AVR nélkül is zavarja az eredeti panelt, a képen lerajzoltam egy "csatornát" a szaggatott rész a saját "hack" szerintem itt lesz a gond, ahogy te is irtad lehet, hogy túl sok áramot emészt fel az ellenállás és a dioda. A kapu egy AND(4011). Nem kell ide valami szűrés esetleg? Még azt elfelejtettem irni, hogy az első probálkozás PIA6821 -ről szerettem volna olvasni a jeleket(látni is a csatlakozókat a lábakon),de ugyan ez volt a tapasztalat - gondolom ott még érzékenyebb az adatsor - ezért tettem a J8,J10felé a csatlakozást
Sziasztok, egy keltetőhöz szeretnék vezérlést csinálni egy Atmega 328 mikrokontrollerrel. Szeretnék hozzá csinálni egy saját nyákot.
Találtam egy kapcsolási rajzot, ezt mellékelem. A C1-nek úgy tudom kerámiakondenzátornak kell lennie. A C2 és C3 sima elektrolit kondenzátor legyen? Az ábra jobb oldalán van egy 10 pólusú csatlakozó a programozó részére. Ennek az aljzatnak mi a hivatalos neve? Ha veszek egy mezei Atmega328P-t, beteszem ebbe az áramkörbe, akkor az működni fog? Gondolok most arra, hogy alapból ugye belső órajelgenerátorról jár, nem fogja megzavarni, hogy már rajta van a quartz? 5V-os tápfeszültséget hogy állítsak elő? Milyen feszültségstabilizátort javasoltok? Elég sokfélét találtam, de pl 7805-öt nem javasolják. Ti milyet ajánlanátok? Hogy kell azt bekötni? Egyébként 12V-ról kell redukálni a feszültséget, ha ez számít valamit.
Sziasztok!
Szeretnék AVR-ekkel foglalkozni ám fogalmam sincs hol is kéne kezdenem...Tudtok vmi kis instrukciót adni? Előre is köszi!
Cikkek között találsz pár cikket amiből el lehet indulni. pl ez a sorozat: Bővebben: Link
Mennyire nehéz, illetve lehetetlen hexből visszafordítani egy programot?
Egy kis módosításra lenne szükségem az atmega8 programjában, viszont szinte teljesen tök vagyok ehhez. Ha valaki tudna segíteni kérem írjon.
ASM kódot kapsz. Azaz közel reménytelen.
a beleégetendő hex fájlom megvan, de akkor ezzel semmire nem megyek?
Szia!
Nem lehetetlen a dolog, de ha nem értesz hozzá, akkor más nem fogja neked megcsinálni, mert nagyom nagy munka. Már volt hozzá szerencsém, hogy egy programomnak elvesztettem a forrását, csak a hex-em volt meg és több napos meló volt, mire olyan szinten visszafejtettem, hogy megfeleljen a további felhasználásra,illetve felismerjem, hogy melyik rész melyik( több év eltelte után volt ez). Ha csak 1-2 dolgot akarsz módosítani, az is nagy meló, mert az elágazások/ugrások eltolódnak,mert nincs cimke a hexben, hanem csak címek vannak. Max egy-egy konstans értékét lehet módosítani különösebb erőfeszítés nélkül, de ha már egy elágazást vagy 2-vel való osztást akarsz beszúrni(pedig az csak 1 utasítás - 2 byte), már borul minden. Szóval nem éri meg a belefektetett munkát. Vedd fel az alkotójával a kapcsolatot és kérd el a forrást vagy kérd meg, hogy módosítsa le neked egyedileg. Ez a két út van előtted, illetve a harmadik, hogy megírod magadnak újra Kiborg ui: a beégetendő hex fájllal sokra mész,mert után tudod építeni. Ez sokszor pont elég, de a mellékelt ábra szerint neked nem.
7805-el mi a gond miért nem jó?
Ez az áramkör, hogy működjön ahhoz az atmega 328-ba be kell írni egy programot.
Réges - régen, amikor még a néhány k-s programok is hosszú órak alatt fordultak le, volt egy (azóta úgy látom elfelejtett) technika az apróbb hibák kijavítására: Patch. A cél a fordítási idő megtakarítása volt, hogy több hibát egyszerre javítsunk. Egy EProm törlése 10 .. 15 perc volt.
A lényeg: - Ha a javítás megoldható a hibás kódrészlet területén (ugyan akkora vagy rövidebb), egyszerűen átírtuk. Figyelni kellett, hogy az átírt részbe ne történjen kívülről ugrás. - Ha a rutin beleséjébe történt ugrás, az ugrási címeket módosítani kellett. - Ha nem fért el, akkor az átírandó rész elejére egy ugrást vagy szubrutin hívást helyeztünk el a memória üresen maradt részére, oda írtuk a módosított rutint, és a végén visszaugrást vagy visszatérést kódoltunk. A hibás kód további részét nop utasításokkal töltöttük fel. Érdekes a mai napig a legtöbb kontrollerben a nop kódja 0, ami egy már programozott EProm bármely címére ráprogramozható. Persze nem állt rendelkezésünkre disassembler, assembler, a kódot fejben kellett összeállítani. Kiválóan működött, a használt processzorokra (I8080, I8085, Z80, I8051 stb.) még a mai napig tudok fejből fordítani... A hozzászólás módosítva: Ápr 4, 2014
Ha már ennyire érted a dörgést?
Segíthetnél is egy keveset! Kellene 1 olyan listára link, amely tartalmazza a 1 - 2 Bytes értékeket is az Assembler mnemonics-ok mellet! Mert amit én találtam ott az ilyen finomságot elfelejtették mellékelni Pl. itt: Bővebben: Link A hozzászólás módosítva: Ápr 4, 2014
Eljött a gutaütögetés ideje. Képtelen vagyok összehangolni az LCD-t a 6 nyomogombbal, amik ugyanazon a adatporton vannak és az LCD EN kapcsol a 2 feladat között. Lassan léptetve hibátlanul müködik, amin azonban betöltöm a chipbe 2 nyomogomb összezavarja a kijelzöt. A másik 4 azt teszi amit kell. ( jobbra léptetés és az érték növelése. A balra léptetés meg a csökkentés zavart okoz). A legdühitöbb, hogy azt hittem a gyorsaság miatt zavarodik, ezért beiktattam néhány nop-t amitöl még rosszabb lett, hasonloan mint amikor lassitottam a procit.
Holnap megprobálom még az LCD frissitést egy teljesen más szubrutinba eltenni, de már kimerülök az ötletelböl. Már beraktam extra pull-up ellenállokat is az adatsinre, de semmi változás.
Köszönöm!
Ezt kerestem! Már azt hittem, hogy titkosítva van. Ahogy látom első olvasatra, ez bizony nehezebben visszafejthető kód, mint a Z80-asé volt!
Sziasztok.
Segítséget szeretnék kérni tőletek, egy Butterfly labs 10Ghash bitcoin bányász újra élesztésében, amiben atmel AT32UC3A1256 chip van. Az történt hogy gondoltam frissítem a firmwaret a gépen, mert egy 5Ghashes bányászból ki tudtak hozni 8,5Ghasht.Le is töltöttem egy Bitforce-SC.elf kiterjesztésű fájlt, mert egy youtube videóban láttam hogy hogyan kell csinálni.Meg is vettem hozzá egy AVR Drangon JTAG programozó gépet, amivel simán fel is ment a firmware.Igen ám de azóta nem üzemel a gép. Próbáltam utána járni, de sehogy sem akar összejönni hogy olyan firmwaret töltsek rá amivel működik. Az Atmel Studio programmal lehet feltölteni rá a programot,ami a forráskódból is csinál ilyen .elf kiterjeszésű fájlt amit ha feltöltök rá, ugyan úgy nem működik. Mert ha jól tudom úgy működik ez az egész hogy a forráskódot le kell fordítani gépi kóddá,és abból kell csinálni .elf vagy .hex fájlt.Sajnos ilyen téren csak a felszínt kapargatom, úgyhogy pontosan nem tudom hogy hogyan megy,de úgy tudom hogy ez elég időigényes feladat, viszont az Atmel Studio a Debug könyvtárba egy pillanat alatt csinál egy ilyen fájlt. Valószínűleg ez a baj,meg persze néhány beállítás, meg a tudásom hiánya,de remélem tud valaki segíteni hogy ne csak papír nehezék legyen. Előre is köszönöm a segítségeteket. |
Bejelentkezés
Hirdetés |