Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Sziasztok!
Van egy hex-en amiben egy portot át szeretnék állitani alacsonyrol magasra. Hogy és mit kellene benne keresnem, és átállitani. Mplabban látok egy "visszaforditott" állapotot. Pic18f lenne.
Üdv mindenkinek!
A segítségeteket kérem.Van egy PIC16F88-al készült kapcsolásom négy funkcióval de az időzitő működése bizonytalan.Beállítható 1-255 perc vagy mp "Be" és ugyanígy "Ki" de pl:1perc be és 119 perc ki már nem működik .Egy másik hex beírással ugyanez 1-2 -szer működik aztán nem .A hex mindkettőhöz megvan , az asm csak az elsőhöz de a forráskód kérhető a fejlesztőtől.Én sajnos nem tudok programot írni pedig ez a kapcsolás eddig a legjobb amit találtam a témában és használni is tudnám.
szia!
Korábbam többször is csináltam ilyet, gond nélkül. A másik gépen most is működik. Most eggyetlen projektet sem tudok menteni más néven. Menteni azt tudom, csak az új helyen nem engedi őket megnyitni. Nem értem hogy mi változhatott meg. Csatolok egy képernyő mentést. Üdv kszabi
Attól félek, az ő betű lesz a gondja.
Ez nem az MPLab üzenete, hanem a Windows-é.
A szokasos problema. Probalj meg csak angol karaktereket hasznalni, es rovid eleresi utakat. Pl D:\PIC\tavcso\... Valoszinu menni fog. Ugyanigy a forrasban a valtozonevekkel szokott problema lenni a nemzeti karakterekkel. Nem szabad hasznalni.
Az MPLAB engem is szokott szívatni az elérési útakkal. Nálam rendszerint a .inc és .gld állományok könyvtárait nem találja. Hiába állítom be őket utólag a project tulajdonságainál, akkor sem akarja azt az útvonalat használni. Csak akkor lesz jó, ha még az új project létrehozása előtt állítok be mindent. Nem kicsit idegesítő.
Idézet: Van egy varázsgomb, azt kell használni az utólagos érvényesítéshez. A Project Options beállításoknaél a Directories lapon a Library Search path, vagy a Linker-Sript Search Path kiválasztása után kattints a Suite Defaults gombra! „Hiába állítom be őket utólag a project tulajdonságainál, akkor sem akarja azt az útvonalat használni.” Ez átállítja a Project/Set Language Toolsuite Location menüpontban beállított értékre a keresési útvonalat.
Sziasztok!
Ez volt a hiba. A szivásokat mindig kis hibák okozzák. Most szépen működik. Köszi a segitséget. Üdv kszabi
Köszi szépen! Bár kipróbálni nem sikerült, mert - érdekes módon - most nem akar szívózni velem az a kis nyomoronc MPLAB 8. Egyébként meg épp az MPLAB X-et próbálgatom, és a szerkesztője határozottan tetszik nekem. Ott eddig nem volt ilyen problémám, csak azzal hogy bár felismerte a PICkit3-mat, mégsem akart programozni. Hosszas tökölés után egyszer csak sikerült. Hihetetlen!
Hali!
Lenne egy érdekes kérdésem! Nem tudja valaki hogy hol lehet módosítani az MPLab IDE ACS II kódtáblázatát? Hozzá szeretném igazítani az LCD-kijelzőmhöz, és akkor rövidebb is lehetne a progim! Valamint valakinek megvan a Visual initializer kiegészítő az MPLab-hoz? Szeretném kipróbálni! ![]() Köszi: Panzer
Hogyan? A LCD altalaban rendelkezik egy elore definialt karakterkeszlettel, es a CGRAM-ba toltheto 8 spec karakterrel, ami kikapcsolaskor elvesz. Igy a MPLAB IDE mindegy milyen karakterekkel dolgozik, ugyis csak a LCD vezerlo hatarozza meg a kijelezheto karaktereket.
Idézet: „Valamint valakinek megvan a Visual initializer kiegészítő az MPLab-hoz?” Természetesen a Microchip -nek megvan... Idézet: „The Visual Device Initializer tool has been retired and we are no longer supporting this tool. If you still would like to use the VDI, you can download MPLAB IDE v8.46, in the Development Tools Archive section, which was the last IDE version supporting this tool. You may also view a VDI training webinar” Idézet: A Microchipnek biztosan... Ezen az oldalon azt mondják, hogy az MPLAB 8.46 volt az utolsó, ami támogatta (az archívumban keresd).„valakinek megvan a Visual initializer kiegészítő az MPLab-hoz?” Ezen az oldalon pedig azt mondják, hogy az MPLAB 7.41 kiadása volt az első, ami támogatta. Én már nekifutottam vagy kétszer, de használhatatlannak találtam. A gyártónak sem lehet sokkal jobb véleménye róla, mert már beszüntették a támogatását.
Igen, ezt tudom, de az MPLAB ASCII kódját szeretném átírni, hogy más karakterkódot küldjön a kijelzőnek, mert az LCD-m más típusú!
Tudtommal az MPLAB-nak nincs külön karakterkódolása (az MPLAB 8-ról beszélek), hanem a Windows karakterkódolását használja (ami nálam Windows-1250), ha pl. írsz egy ilyen sort:
Ajánlom figyelmedbe vilmosd kolléga válaszát. Ö elég egyértelműen leírta hogy mi a helyzet.
Esetleg itt találsz megoldást. Ugyan CCS-C de a lényeg látszik. Hiába állítod át a windows és ezzel az mplab kódlapját bárakármire, mert ilyenről hogy LCD kódlap nem tudok, bár lehet csinálni.... fontokkal mindennel... de hogy azzal programozni nem fogsz az biztos.
Hali megint!
Nem értitek pontosan mit szeretnék, de ez az én hibám sosem voltam a szavak embere!... ![]() A lényeg, hogy van 2 típusú LCD kijelzőm itthon, ami más gyártótól származik, és az egyik angol-ciril, a másik angol-európai karakterkészlettel rendelkezik. A trükk ami nekem most marha jó lenne, az az, hogy a táblázatot, ahonnan az mplab az ascii kódokat behelyettesíti szeretném én megváltoztatni, mert a 2 LCD-ben az egyforma betűk és írásjelek (nem mind) de más kódon helyezkednek el... Nekem az lenne a fontos, hogy ne kelljen a teljes 2000-soros vezérlést megváltoztatnom az LCD cseréhez, egyszerűbb lenne, ha a kódtáblázatot megtalálnám, és módosítanám. Tudtommal azt az ASCII táblázatot az MPlab egy kis fájlból szerzi meg, valahonnan a telepített mappák közül, ugyan úgy, ahogy pl a status regiszter címét is ami az MPLAB Suite könyvtárban van a különböző PIC típusokra, amit fordításkor a disassembling listbe átfordít, nekem ennek a táblázatnak a helye kellene, mert nem találom a rendszerfájlok között. Idézet: Erre találták ki a feltételes fordítást, ami egy, a program elején megadott értékkel definiált makró hatására befordít vagy nem fordít be progaramrészeket.„Nekem az lenne a fontos, hogy ne kelljen a teljes 2000-soros vezérlést megváltoztatnom az LCD cseréhez” Idézet: Szerintem nincs ilyen, azért nem találod. Az oprendszer kódtábláját meg kár volna ezért megváltoztatni... „nekem ennek a táblázatnak a helye kellene, mert nem találom a rendszerfájlok között.”
Nem karakterkodokat kuld, hanem cimeket. Az altalanos LCD adatlapjaban talalhato karaktertablahoz tartozo cimeket. Amikor kicsereled a LCD-t a cim nem fog valtozni. Megoldas lehet a programban elhelyezett 2 kodtabla, es felteteles forditasi opcio a forditonak. De ez bizony nem keves helyet foglal el.
Esetleg megtennéd hogy a két karaktertáblát feltöltöd hogy lássuk mekkora az eltérés?
Ha még azt is elárulod hogy az MPLAB alatt milyen fordítót használsz az is előrébb vihet. Mindamellett gyanítom hogy az angol ABC betűi mindkettőben ugyan azon a címen vannak, így csak azt kell megvariálnod ami van mindkét kódtáblában csak más-más címen, illetve amelyik valamelyik vagy mindkét kódtáblából hiányzik. Ami mind a kettőből hiányzik az egyszerűen letölthető (8 karakter) így csak azokat kell fordítási direktívával szétválogatni amelyik a két kijelzőben más más címen van. Arról hogy a teljes magyar ABC-t meg tudd jeleníteni, mondj le, az nem fog menni, mert nincs annyi szabad hely! Ha mindenképp szükséged van rá marad a grafikus kijelző. A másik opció (én inkább ezt preferálnám), hogy használj egy fajta kijelzőt, úgy nincs gond a cserékkel. (az a tapasztalat hogy az LCD kijelzők majdnem örök életűek, ha valami egetverő nagy elkötést nem csinálsz, vagy a villám nem ver bele majdnem elnyűhetetlenek, így nem hiszem hogy túl gyakran kéne cserélgetni.)
A programban használj a karakter kódok heyett szimbólumkat: pl. Cfok -ot a Celsius fok kódja helyett.
Aztán készits annyi állományt, ahány féle LCD modult szeretnlé / kell használni, bennük add meg a szimbólumokat: Pl: DisplayTech162.asm
Végezetül az első felhasználás előtt ird be a porgramba:
Ebből a sorból is csinálhatsz többet és feltételes fordítással vagy kommentezéssel válaszd ki azt, amelyik épen kell...
Csinálsz egy konverter rutint és megmondod, hogy melyik táblázatból vegye a kódokat és küldje ki a kiválasztott LCD-re a bejövő szabványos karakterkódok szerint.
A táblázatokat az LCD adatlapjai szerint kell kitölteni. Lehet két külön rutint is írni és azt meghívni, amelyik illeszkedik az LCD-hez. Van még pár variáció, lényeg ugyanaz... Megjegyzem, hogy egy LCD kijelző egyhe túlzással filléres dolog, én nem bonyolítanám az életemet, bár nem nagy dolog megírni az interfészeket sem...
Értem!
Köszi! A két tábla a mellékletben! Az eltérés a 2. felében van, a különböző jelekben és nyilakban amikből sokat használok! ![]()
Az elet megkonnyitese erdekeben en csak egyfajta kijelzot hasznalnek, es ugyis kell hozza egy tabla, tehat ezt egyszer megcsinalnam, es csak ezt a kijelzot alkalmaznam. Mivel a karaktertabla ugy sem a szabvany extended ASCII tabla mindenfelekepp csinalni kell hozza egy konverzios tablat, ahol a Te szovegedet hozzailleszted a kijelzohoz.
Gondoltam erre én is. Ez most gyorsan kellett, úgyhogy végül átírtam a progi egyes részeit, és iclude paranccsal az ékezetes betűket egy külön forrás fileból töltöm, be így elindult.
Sziasztok.
Égető szükségem lenne egy MŰKÖDŐ USB vezérlésére képes forráskódra. Miért hangsúlyozom a működőt? Lassan hetek óta szórakozom azzal hogy fel bírjam éleszteni az USB kommunikációt, de még halvány szikráját se értem el. a Feladat egyszerű lenne: egy 3 bájtos tömböt kéne a picnek átküldeni hogy dolgozgasson vele. Természetesen már rendelkezem vagy 5 féle nem működő projekttel ezek között van HID és CDC-s is. Bármelyiket próbálom lefordítani mindig van valami nem definiált dolog vagy olyan amit nem tud értelmezni a fordító. nincs valakinek egy kollekt projektje amiben benne a GenericTypeDefs.h-tól az usb.h utolsó részéig minden benne van?
Senki nem tud érdemlegeset, vagy legalább megközelítő választ?
Szia!
Reménytelen... Ha megvan a forrássa is, akkor is hosszú munka. Egyszerűbb kívül egy inverterrel vagy tranzisztorral megfordítani a jelet.
Ezt olvastad? : USB HID demo cikk
Elsők között ezt is próbáltam.
az eredmény kezdetnek: /home/nozdormu/Asztal/includes/usb_hal_pic18.h:254: error: struct/union member "BC9" redefined /home/nozdormu/Asztal/includes/usb_hal_pic18.h:254: error: struct/union member "UOWN" redefined /home/nozdormu/Asztal/includes/usb_hal_pic18.h:254: error: struct/union member "BC8" redefined /home/nozdormu/Asztal/includes/usb_function_cdc.h:588: error: no identifier in declaration /home/nozdormu/Asztal/includes/usb_function_cdc.h:595: error: no identifier in declaration /home/nozdormu/Asztal/includes/usb_function_cdc.h:620: error: undefined identifier "CDC_COMM_IN_EP_SIZE" /home/nozdormu/Asztal/includes/usb_function_cdc.h:620: error: constant expression required /home/nozdormu/Asztal/includes/usb_descriptors.c:12 warning: unknown pragma "romdata" /home/nozdormu/Asztal/includes/usb_descriptors.c:42: error: undefined identifier "_DEFAULT" /home/nozdormu/Asztal/includes/usb_descriptors.c:42: error: undefined identifier "_SELF" /home/nozdormu/Asztal/includes/usb_descriptors.c:42: error: constant expression required /home/nozdormu/Asztal/includes/usb_descriptors.c:70: error: undefined identifier "CDC_COMM_INTF_ID" /home/nozdormu/Asztal/includes/usb_descriptors.c:70: error: constant expression required /home/nozdormu/Asztal/includes/usb_descriptors.c:71: error: undefined identifier "CDC_DATA_INTF_ID" /home/nozdormu/Asztal/includes/usb_descriptors.c:71: error: constant expression required /home/nozdormu/Asztal/includes/usb_descriptors.c:77: error: constant expression required /home/nozdormu/Asztal/includes/usb_descriptors.c:83: error: undefined identifier "_EP01_IN" /home/nozdormu/Asztal/includes/usb_descriptors.c:83: error: constant expression required /home/nozdormu/Asztal/includes/usb_descriptors.c:84: error: undefined identifier "_INTERRUPT" /home/nozdormu/Asztal/includes/usb_descriptors.c:84: error: constant expression required /home/nozdormu/Asztal/includes/usb_descriptors.c:103: error: undefined identifier "_EP02_OUT" /home/nozdormu/Asztal/includes/usb_descriptors.c:103: error: constant expression required ez a legtipikusabb hiba bár van más olyan projekt ahol más kifogásokat talál arra hogy ne akarjon lefordulni. A kedvencem az az CDC-s verzió ahol sehova sincs az ftneg.c beincludeolva és mégis ott jelzi a no far RAM defined szöveget. A másik ahol a struktúrákat nem tudja értelmezni. Az a baj hogy a PHP meg a Java megy magas fokon, de a C-ből csak az alapok, ami nem elég az ilyen hibák javításához (de még értelmezéséhez se). |
Bejelentkezés
Hirdetés |