Fórum témák
» Több friss téma |
Próbálkozok mindenféle típussal, sehol sem találok olyat ami működik is.
A hozzászólás módosítva: Nov 20, 2016
0.06v-ra már, a 0 logikát választotta.
Teszteltem, hogy lehúztam abszolút nullára és lám, egyből jó volt a logika. Lehet ez volt a gond, most teszek minden 68K-tól jövő 74LCV86 bemenet elé egy 10K-s ellenállást föld irányba. És meglátjuk mi lesz. ui: amúgy igen ez még mindig az, csak közben programilag fejlődik és azért csak-csak előfordulnak hibák. A hozzászólás módosítva: Nov 20, 2016
Idézet: „char array[6] = {'a','b','c','d','e'}; // <<-- így nem jó” Persze, hogy nem jó: A deklarációban azt mondod a fordítónak, hogy 6 elemű lesz a tömb, de csak 5 elemet adsz meg. char array[6] = {'a','b','c','d','e','f'}; // ennek már jónak kellene lennie. "S" - ez egy string, 'c' ez egy karakter konstans. Hogyan van deklarálva az i2c_lcd_write() eljárás? Ha hibára fut a fordytás, másold be ide a hibajelzést is.
Kevesebb elemmel lehet a tömb, nem? Egy sima LCD kiíratás lenne.
Ez megy !!
itt vannak a függvények:
A fentebbi béna próbálkozás amire válaszoltál, már ilyen hibakeresési mód lenne, de az sem megy. De ez kellene.. 16F es változaton ugyanígy ezzel megy. A hozzászólás módosítva: Nov 20, 2016
Idézet: „0.06v-ra már, a 0 logikát választotta.” A 0.06V bőven benne van az alacsony szinthez tartozó bemeneti feszültség tartományban: 3.3V tápfeszültség mellett 0..0.8V 74LVC86 Más probléma lesz: - szakadt a bemenetére kötött vezeték, igy a CMOS bemenet kapacitíven összeszed feszültséget, ami mér elég a magas szinthez. - a 86k címvezetékeo időnként nagyimpedanciás állapotba kerülnek, Ezektől csak a kimeneti szint változhat meg, a kimenet fizikailag nem mehet tönkre. (Iout = +/- 50mA) A kimeneten védődióda van a Vcc és a GND felé. Tönkremehet, ha a Vcc -nél magasabb vagy a GND -nél alacsonyabb feszültség kerül a kimenetre. A kimenet zárlatban van valamelyik táppal, földdel, más jellel.
Egy 18f47k40 - ről van szó. Nem lehet, hogy ebben van valami egészen más probléma. xc8 v1.38 a compiler.
Ennek a kódnak mennie kellene.
A hozzászólás módosítva: Nov 20, 2016
Azért kellene ez a cucc, mert SD kártya kezelést szeretnék implementálni. Nahde itt elvérzek ..
No, úgy fest bejött amit mértem és gondoltam is.
Most jól működik és úgy fest nem halt meg a 74LVC86, csak a hibás működéséből gondoltam, hogy halott. (lehet, hogy az előző kettő sem hallt meg) Úgy néz ki az volt a baj, hogy a szintillesztő impedanciájából adódó 0.01-0.06v a 74LVC86 bemenetén elegendő volt, hogy hibás logikát adjon. A szintillesztőn keresztül érkező (68K) címjeleket amelyek a 74LVC86 bemenetére érkezik, abszolút o szintre húzom egy 10K ellenállással, és így a logika már teljesen stabil és jó. Most tesztelem pár napig, így és meglátom mit hoz. Eddig nagyon szépen működik. Köszi srácok a segítséget.
Én erre gondoltam:
Mind a 2 működik
Igen. Mind a 2 működik nekem is persze. Nem egy bonyolult dolog. Csak ebben a picben nem megy. Ez az igazi kérdés. Ezért is írtam ide, hogy mi lehet a baj...?
És csakhogy teljesebb legyen a kép. Kipróbáltam egy 18f25k50 en is. Azon is megy. De e célra szánt eszköz a most vásárolt 18f47k40 lenne.
LÉTEZHET, EGY KONFIGURÁCIÓS BIT OKOZHAT ILYEN PROBLÉMÁT? A hozzászólás módosítva: Nov 20, 2016
Vagy lehetséges hogy ebben a nagyobb picben 2 MSSP modul van, és annak a bitjei máshogy jönnek ki?
Végignéztem a regisztereket immáron 4. jére. Kipróbáltam egy ugyanilyen 18f47k40 -en. Azon sem megy. Amin megy az a 16F18323 és a 18f25k50. A 16F18323 is PPS-es és XLP-s új tipusú mikrokontroller. Teljesen tanácstalan vagyok. Muszáj lesz kipróbálnom egy másik 18F-es picen. Létezhet az hogy vagy a kontroller tervezési hibás, vagy a compiler ezzel a vezérlővel bug-os?
Idézet a 18F47K40 adatlapjából:
Idézet: „PORTB is multiplexed with several peripheral functions (Table 10-5). The pins have TTL input buffers. Some of these pin functions can be relocated to alternate pins using the Control fuse bits in CONFIG3H. RB5 is the default pin for P2B (28-pin devices). Clearing the P2BMX bit moves the pin function to RC0. RB5 is also the default pin for the CCP3/P3A peripheral pin. Clearing the CCP3MX bit moves the pin function to the RC6 pin (28-pin devices) or RE0 (40/44-pin devices). Two other pin functions, T3CKI and CCP2/P2A, can be relocated from their default pins to PORTB pins by clearing the control fuses in CONFIG3H. Clearing T3CMX and CCP2MX moves the pin functions to RB5 and RB3, respectively.”
Huhh lehet nemértem. Nekem az RC porton van az SCL és az SDA, amit a beépített code configuratorral állít be a PPS regiszterekben a plugin.
Most ebbők az ötletből kiindulva áttettem az SCL-t és az SDA-t egy másik kivezetésre. Ugyanaz, teljesen. De ha nem lenne jó az SCL és az SDA láb, akkor inizializálni se menne gondlom. De az megy .. írni is tudok rá .. csak ez a pointeres tömbös történet nem megy. Nem tudom valami speciális foglalás kellene a memóriában. Valami új típus. Ilyenekt látok static const romchar stb.. Mindent próbálgatok, de sehogy nem akarja az igazságot.
A hozzászólás módosítva: Nov 20, 2016
Szívesen. Már épp be akartam dobni a törölközőt.
Lehet, hogy nem is kell a szintillesztő. Ha stabilan megy, gondold meg, hogy kiveszed. Ha jól értettem a 68k 5 Voltját illesztené 74LVC felé, de annak köszöni, jó az 5 V az adatlap szerint. Más felől pedig: never touch a running system! Ezt a 0.01-0.06 V-ot nem nagyon értem, inkább arra gondolok, Hp41C talált a feketébe. Szerintem a 68k néha elengedi nagyimpedanciásba a lábát. Ez sok mindent megmagyarázna. Akkor jó lesz a 10 k lefelé.
Ez ennél egy icipicit bonyolultabb.
Szintillesztőt nem vehetem ki, mert nem csak 4 címbitet illeszt, hanem mellette még 50 egyéb más lábat is.. Hp41C fórumtársunk javaslatát figyelembe vettem, de mivel a szintillesztés is közben van és persze 68K nincs a hardverre illesztve adat töltés közben, nem okozhat behatást a működésre. Ez egy kártya.
Sziasztok!
Pic18F14K50 vezérlő RA4es lábát szeretném használni I/O pinként, kimenetként. A lábon van: RA4 / AN3 / OSC2 / CLKOUT. Milyen config hiányzik? Adatlapból próbálom kiszedni a helyes beállítást de már meghülyít mert sehogy nem szeretné azt csinálni amit próbálok neki megmondani. Ilyekor az oszcillátort ki kell lőni? Valahogy az adatlap 282-283 oldalán lévő CONFIG1K CONFIG1H regisztereivel tudnám állítani? De azokat meg nem veszi be, fordításkor BuildFail. Valamit include-olni kellene hozzá? Itt van a megoldás a küszöbön csak nem látom a fától az erdőt. Legyetek szívesek magyarázzátok el hogyan működik! Köszönöm! http://ww1.microchip.com/downloads/en/DeviceDoc/40001350F.pdf Beállítasaim:
Szia!
Az RA4-es láb egyben oszcillátor frekvenciameghatározó láb is ( pl. a kvarckristályt ide kell kötni!). Ha használni akarod a lábat, akkor ezt nyilván nem használhatod az oszcillátorhoz --> használd a belső oszcillátort, de ezeket nem láttam a beállításaidban!
Az oszcillátort confogoltad belsüő oszcillátorra?
Mert alapból az RA4 es lába a külső kavics lenne.
Idézet: „Milyen config hiányzik?” A belső oszcillátort kellene használni, méghozzá CLOCKOUT funkció nélkül: #pragma config FOSC = IRC
Sziasztok!
Nagyon kezdő PIC-es vagyok, egy olyan kérdésem lenne, hogy LVP-t ha bekapcsolom akkor miért nem megy egy alap LED villogtatás? (egyébként meg normálisan működik) PIC16f887-esről van szó, belső alapértelmezett oszcillátor adja az órajelet és a PicKit3 adja a tápot
LVP módban a PGM láb le- vagy felhúzása dönti el, hogy a mikrovezérlő programfuttatás vagy programozás módban legyen. Ebből következően a PGM láb nem lebeghet.
Köszönöm (kicsit mèg gyakorolnom kell a dokumentáció olvasást)
Srácok, lehet nem teljesen ide tartozik, de nem találtam megfelelő topikot. (ami élne is)
ASM programról lenne szó. 68K-ra kellene nekem egy kis késeltetést írnom a kérdés az, hogy tudna e nekem valaki segíteni benne. Pár mp-et kellene várnia a programnak aztán továbblépnie. A baj, hogy azt sem tudom, hogy álljak neki.. A PIC-hez azért van köze a dolognak, mert ezt az asm kódot lefordítom binárisra, majd azt a PIC-be egy tömbbe teszem, és PIC-el pedig feltöltöm 68K-hoz csatolt memóriába. És utána 68k már tudja használni.. Előre is köszi. A hozzászólás módosítva: Nov 22, 2016
Idézet: ASM nyelven nem programoztam MC68000-est, csak Assembly nyelven. (Amiga)„ASM programról lenne szó” Azért a programhoz nem árt ismerni a Sega hardverét, memóriakiosztását, ill. hogy hogyan kerül a vezérlés a Cartridge címterületére. Mi lenne a cél pontosan?
Sega hardvere illetve a szíve a 68K.
A cél egy kis időzítés semmi más. 2 szöveg kiírása között kellene időzni e pár mp-et. (csatoltam a képet) Azon a részen ahol a 4 sor szöveg van, ott kellene várni kicsit majd átváltani egy másik, újabb 4 sor szövegre. Minden mást meg tudok csinálni, de Assembly nyelven nem tudok programozni, a C meg baromi nagy, szóval sallang itt nem lehet. A kód feltöltése már elvileg nem lehet akadály, azt éppen most írom. A kód main része:
A hozzászólás módosítva: Nov 22, 2016
Talán ez a legegyszerűbb:
...vagy ez:
A hozzászólás módosítva: Nov 22, 2016
|
Bejelentkezés
Hirdetés |