Fórum témák
» Több friss téma |
Kis szerencsével stabilan működik. Valószínű, hogy nem gyártanak külön LF sorozatot, hanem egyes példányokat lemérnek és ha teljesíti a gyári teszteket alacsonyabb feszültségen is, akkor felcímkézik LF jelzéssel. De ez nem jelenti azt, hogy az F jelzésű nem teljesíti, csupán azt, hogy a gyár nem mérte le, hogy teljesíti-e!
16F876 nálam működött 1,6V-ról is. A rákapcsolt ledek is elaludtak már, de az ICD2-vel szépen követhető volt a futása és tette a dolgát.
Én is ilyesmire gondoltam, köszi a választ!
Viszont az 1.6V már nem semmi. ![]() Idézet: „De ez nem jelenti azt, hogy az F jelzésű nem teljesíti, csupán azt, hogy a gyár nem mérte le, hogy teljesíti-e!” Inkább úgy fogalmaznék: a mérés során bebizonyosodott, hogy nem teljesíti minden feltétel mellett az LF verzióra előírtakat. Ettől még működhet az F specifikációján kívül.
Sziasztok!
Tudna valaki segíteni az alábbi kódban. Ez órát szeretnék megvalósítani, egyenlőre nulláról való indítással és nyomógombok nélkül. De az óra,perc,másodperc kiíratásánál gondok adottak.
A kiíratást én így gondoltam , de össze vissza számol. Pedig már minden sorrendben beraktam . Tudna valaki segíteni?
Szia!
22.sor: Szerintem char típusú legyen a konvert függvény. 25..35. sorok: Egy számjegy ASCII kódja megegyezik a 0x30+számjegy értékével, Azaz a "0" kódja 0x30, a "9" kódja 0x39. Az egész függvény egy öszeadás return (0x30 + szam); 54..55 sorok: Minek megcsinálni, ha az 1. sorban már megtörtént? 68..73 sokor: Inkább ilyen formában: digit[1]=(konvert(ora%10)); 77..84 sorok: Ha szépen összeállítottad a karakter sorozatot, miért nem sorban egymásután írod ki?
Akárhogy is íratom ki az LCD -re mindig összecsúsznak az egyes digitek. Próba képen egyenként hívtam az órát, percet, másodpercet. Ekkor is csak a percet és másodpercet jeleníti meg , ilyen formában :00:00 .
Most milyen a programod? Milyen kontrolleren fut? Van -e lehetősége alacsony feszültségű programozásra? A PGM lábat nem használtad fel az LCD vezérlésére? Le van tiltva az LVP?
Sziasztok!
Egy Microchip 16F871-I/P-t programoztam többször is sikeresen. A 4. alkalommam azt vettem észre4, hogy a PICKIT2 16F870-esként ismeri fel, és csak úgy hajlandó rá írni, törölni. Ha így írom rá a progamot, akkor az meg nem működik normálisan. Hiába törlöm le, és állítom át manuálisan a PIC fajtáját, akkor sem hajlandó rá írni. Azt mondja, hogy 870-es van benne. Hogy tudnám rákényszeríteni, hogy 871-esként kezelje. Van egy másik 871-es IC-m azt tökéletesen kezeli. Esteleg van valakinek ötlete? Vagy egyszerűen csak dobjam ki?
Valami más gond lesz ott, mert a 16F870/871 azok nagyon hasonlóak, csak a lábszám, a párhuzamos port és az analóg csatornák száma tér el. Égetés szempontjából a kettő teljesen azonos, ha 870-ként írod meg, akkor is működnie kellene.
Szia!
A PGM lábat kösd be a PICKit2 6. csatlkozójára vagy a programozás alatt ellenállással húzd földre.
Szia! Ha így írom meg akkor nem használja az összes lábat. (kijelzésre használnám, és csak a lábak egy része működik így)
Ahogy te tanácsoltad átírtam az ASCII kódokra .De úgy csak különböző karakterek jelennek meg. És sorba raktam a kiírásnál a karakter sorozatokat.
PIC16F628A mikrovezérlő. Írtam egy másik teszt programot, ott jól működik minden. A megfelelő helyre írja ki a karaktereket az LCD-n. Négybites módban működik a 2x16 - os kijelző. Nem hardveres gond van szerintem. A szoftver hibája. Csak nem tudom mi. ![]() A PGM láb nincs felhasználva .
Milyen fordítót használsz? Biztosan 4 bitesen kezeli az LCD -t? Időzítve adja ki a parancsokat? Jó az időzítés? Vagy a Busy bitre vár? A várakozás jól megy? Ha a Busy bitre vár, a R/W lábat bekötötted? Az adat vonalak bemenetek akkor, amikor az LCD -ből az olvasás történik? Jól vannak beállítva a konfigurációs bitek?
Töltsd fel az egész programot (csak annyit, amennyi már a hibát produkálja)!
De akkor, ha a klón csak 5v VDD-t tud kapcsolni, akkor ne is kezdjem el azzal programozni az IC-t? Esetleg külső áramforrás?
Szervusz!
Idézet: „digit[1]=*(konvert(ora%10));” Az értékadások jobb oldalán biztos kell az a szorzásjel?
Ez így egyszerűbb...
Amúgy a " "-t ne keverd ossze a ' '-vel. Előbbinél egy program memória címet jelöl, utóbbi számértéket.
Szia!
A vezérlőjelek (ICSPCLK, ICSPDAT) is 5V -os magas szinttel adja ki a Szilva féle klón. Ne kezd el vele, tönkreteheti a kontrolleredet. Idézet: Semmiképp sem. Csak a korábban belinkelt szintátalakítóval programozhatod. Egyébként a tápfeszültsége lehetne 5 V is akár, de a PGD/PGC bemenetekre nem szabad 3,6 V-nál magasabb feszültséget kapcsolni - ez a korlátozó tényező. „De akkor, ha a klón csak 5v VDD-t tud kapcsolni, akkor ne is kezdjem el azzal programozni az IC-t?”
Adott az MPLAB X, ill. egy PIC24 assembly program.
A beállításokban megadom a linkernek a verem méretét, de mégsem azt használja. Miért? (A programban nem adok meg veremméretet.) Idézet: Az MPLAB 8 azt mondja a beállítható értéknél, hogy az a veremtár minimális mérete. A maximális mérete viszont a teljes rendelkezésre álló (nem használt?) RAM terület. „A beállításokban megadom a linkernek a verem méretét, de mégsem azt használja. Miért?”
Bocsi, hogy más témát szúrok közbe.
Pic-es logikai analizátorokat leskelődök google pajtással. Kellene nekem legalább 4 csatorna (8 lenne a jobb), és folyamatos üzemben kellene küldeni fölfele a csatorna értékeket a PC-nek nagy sebességgel usb-n. Aki eddig találkozott ilyesmivel, mekkora volt a legnagyobb sebesség, amit ilyen módon pic-el produkálni lehetett? Elbírhatja akár egy 80mhz-s pic32 az 1-2 mhz-et folyamatos üzemben? (az 1-2 mbyte / sec usb-re kiküldve)
1MB/s fölé nemigazán tudsz Full Speed USB-vel menni. Egyébként szerintem nagyjából el tud ennyit vinni, de azért nem tenném rá a nyakamat.
MikroC PRO 2009 - ben írtam . Minden beállítás jó , a konfigurációs bitek is . Más programmal az LCD kijelzése jó. Igazából a kiíratás okoz gondot .Beraktam sorba a digit tömb elemeit elvileg úgy kellene megjelenni a kijelzőn is . Nem jól gondolom?
Köszi szépen!
Csak furcsáltam, hogy 7kB RAM-teületet használok (a 16kB-ból), mégis a memóriahasználtságra 85%-ot jelez. De ezekszerint dinamikusan állítja a méretet, így ha pl. 15kB területet foglalok saját célra, akkor a linker a verem számára a maradékot fogja kijelölni. Más: Míg az MPLAB 8-ban szimulálva hiba esetén (pl. címhiba) üzenetet kaptam a hiba okáról és helyéről, addig MPLAB X-nél azt sem mondja; fapapucs, csak csinál egy újraindítást. Nem találok hozzá beállításokat. És ha már hibáknál tartok, van egy tapasztalatom: Ugyebár a munkaregisztereket címregiszterként/mutatóként való használat előtt inicializálni kell 16-bites értékadással. Enélkül végrehajtáskor hibakizárás történik. Érdekes módon a szimulátor (MPLAB 8 és X is) a következő műveletnél kizárást hajt végre a w6 miatt, pedig teljesen szabályos az inicializálás. (A PIC-en egyébként megy a program.): lsr.w w0,#12,w6 mov.w [w10+w6],[w11]
Szerintetek ezt érdemes kezdéshez megvenni: Bővebben: Link
Egy PIC18F4550-el használnám. Az USB-t hiányolom róla, de szerintem azt is lehetne rákötni ha csinálnék hozzá egy külön kártyát. Tanuláshoz kellene. Majd ha menne minden elég jól akkor építenék magamnak egy komolyabbat.
Szia!
Ennyi információval csaka következőt tudom ajánlani: Fordítsd le a programot a MikroC -vel, töltsd be az MpLab -bal (előbb be kell állítani a kontroller típusát), állítsd be az MpLab SIM -et debuggernek, nyisd ki a program memória ablakát. Ezek után lépésenként tudod nézni, mit is csinál a program.
MikroC -re gondoltam. De szoftver terén még nem tudok döntésre jutni. ASM-vel kellene előbb egy kicsit megismerkedni, utána meg a C tudásomat feleleveníteni.Pár éve már nem használtam. PHP-vel dogozok elég sűrűn úgyhogy a programozás alap dolgai megvannak csak a PIC specifikus dolgokat kellene megtanulnom.
|
Bejelentkezés
Hirdetés |