- using namespace System::Text;
Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Köszi a javítást. De még mindig várom a megoldást a problémámra. Köszi
Hiába vársz segítséget, ha a legelemibb információkat sem adod meg ahhoz, hogy segíteni lehessen! Ez nem a a parafenomének konferenciája...
Csatlakozom Icserny-hez. Egyreszt meg csak azt sem arultad el, hogy mivel forditasz. A hibauzenet-bol is csak kovetkeztetni lehet, hogy Basic-et hasznalsz (tudtommal itt nem sokan hasznaljak, de akkor is erdemes lett volna ezt leirni). A masik, hogy fogalmunk sincs mi a forras, vagy, hogy most maga a fordito szallt-e el vagy a PIC programod nem fer bele a PIC-edbe (mert mondjuk ugyanaz a program az odaig rendben, de masik PIC-re akarod leforditani?).
Biztosan megvan ennek a Basic forditonak a foruma, vagy lehet itt is vannak paran akik ezt muvelik, csak azok meg nem ebbe a topicba irogatnak, szoval korul kellene nezned alaposabban + tobb infot megosztani a problemarol. Idézet: „fatal:out of memory (pbpw.exe) Ez mi?” Ezt a topikot olvastad már? Vagy ezt a FAQ-ot? Ez nem PIC probléma, hanem a gagyi fordító és a Windows párharca.
Ezek szerint a pbpw.exe-t át kell állítani win95 kompatibilitás módra?
Az egyik helyen ezt írják:
Idézet: „For Windows executables like PBPW.EXE, there isn't much control over the specifics of the environment they're launched in. You can right-click the .EXE file, select Properties, then Compatibility. Start by setting it for Win98 compatibility mode.” Egy török blogban meg azt, hogy a .PBP állományok elérési útvonalát kell lerövidítani/egyszerűsíteni.
A PICCOLO projektnél akadt egy kis problémám, ezen tudna valaki segíteni?
Az USB Device - CDC - Basic Demo programot alakítottam át, s a hozzá való PC Software Example VC++ 2005 változatát használom hozzá számítógép oldalon (.NET 2.0 keretrendszerrel fut, mint a PICkit2 programja is). (A mellékelt ábrán látható, hogy hogyan és mire használnám - most kényszerűségből ékezetek nélkül írva az üzeneteket.) Nos, ez a PC program nem viszi át az ékezetes karaktereket (kockát vagy kérdőjelet ír ki), s fogalmam sincs, hogy hol lehetne erre ránevelni a Visual C++ 2005 Express alatt fordítható programot. (Bénaságomra jellemző, hogy október óta folyamatosan azt hittem, hogy ősszel a C# változatot fordítottam le... ) Megjegyzés: más programmal (pl. putty.exe)kommunikálva átjönnek az ékezetes karakterek a PIC-ből rendben.
Ha putty-al működik, akkor a PC programban lesz a hiba.
Nem lehet állítani valahol a forrásban, komponenseknél a karakterkódolást? Tipikosan olyan problémának tűnik, mikor nem egyezik a karakterkódolás.
A soros port megnyitása után betoldottam két sort, amivel be tudom állítani az ASCIIEncoding-ot (egyébként ez a default, ami csak 7-bites, ez csinálja a problémát!), vagy helyette beállíthatom az UTF8Encoding-ot, de sajnos, nekem a 8 bites CP1250 kellene, arra nem találtam kádenciát.
Nincs olyan függvény/osztály amivel át lehetne kódolni adott karakterkódolású stringet, másfajta karakterkódolásra?
Biztosan van, csak annyit sem értek a VC++-hoz, mint hajdú a harangöntéshez. A fő gond egyébként csak annyi, hogy a SerialPort1-nek nem szabad engedni, hogy levágja a 8. bitet, mert utána nincs mit kódolni.
Lehet, hogy megvan a megoldás, csak estig nem tudom kipróbálni... Ez így most lefordult, és talán jó lesz:
(a .. helyett két kettőspontot kell tenni, csak a fórummotor hülyéskedik vele)
Teljes a siker! A Form1.h elejére kell egy
sor, a soros port megnyitása után pedig egy
Így már átmennek az ékezetes betűk is. (Default előtt nemkell a szóköz, csak már megint smiley-vé akarta konvertálni a fórmmotor...) Köszönök minden tanácsot és biztatást!
Most akkor amugy C++ -ban vagy C# -ban csinalod azt a PC oldali klienst?
Én VC++ 2005-ben (Express Edition) csináltam.
De a Microchip USB Framework tartalmaz forrást VB.net-hez és VC# 2005-höz is.
Ja, ok, csak mert meglepodtem a pointereken -- azt hittem .NET-ben csinalod. Amugy nem tudod veletlenul, hogy a Microchip libusb-t hasznal, vagy Microsoft DLL-eket hivogat? (magyaran lehet-e azt a kodot hordozni Linux/Mono ala?)
Idézet: „azt hittem .NET-ben csinalod” Jól hitted, mert amennyire én tudom a VC++, VB.NET és a VC# 2005 egyaránt a .NET 2.0 keretrendszert használja. Idézet: Én USB CDC-t használok, ez a Windows usbser.sys eszközkezelőjét nevezi meg az .inf fájlban. Ez rendszer szinten kezeli az USB-t, az alkalmazói programok már csak (virtuális) soros portra hivatkoznak. Jelesül most a .NET System.IO.Ports SerialPort osztályát használom, ennek az Encoding-ját kellett lebeszélni a fölösleges okoskodásáról. „a Microchip libusb-t hasznal, vagy Microsoft DLL-eket hivogat?” Van a Microchip USB keretrendszerében libusb-t használó demó is, amelyik user space-ben kezeli az USB eszközt (control, interrupt és bulk tranzakciók közvetlen kezelése). A SimpleLibUSBDemo.exe demóprogram VC++ 2008 Express-ben készült (.NET). A Linux alatt futó demója pedig Qt3 Designer alatt készült (tehát nem mono...). A demó, így ahogy van, HID osztályú eszközt keres, s ránézésre csak egy nyomógomb figyelést, s a LED-ek kapcsolgatását végzi (a célbavett hardver kártyákon ez a közös részhalmaz). Idézet: „Jól hitted, mert amennyire én tudom a VC++, VB.NET és a VC# 2005 egyaránt a .NET 2.0 keretrendszert használja.” Ah, na nekem ez uj volt. Mint szamomra kiderult van nekik ez a C++/CLR nevezetu nyelv ami nagyon hasonlo a C++ -ra es amivel a .NET-es (CLR-es) kod keszul. Meg picit regebben az un "Managed C++"-t hasznaltak hasonlo feladatokra. Managed Extensions for C++ C++/CLI Hat mindig tanul az ember. En nagyon nem a Microsoft vilagaban elek, igy nem is annyira erdekelt eddig. Csak miutan a Mono-val lehet linux-on is bizonyos hatarok kozt fejleszteni, ezert merult fel bennem, hogy az ilyen USB-s meg egyeb PIC-ekkel kommunikalo modulokat .NET-ben kellene fejleszteni (tehat akkor egyetlen forditas es fut Linux-on es Windows-on es talan Mac-en egyarant). Na mindegy, mar nagyon szet offoljuk a temat. Koszi az infot! Idézet: Nagy kár volna ezzel megbonyolítani! „az ilyen USB-s meg egyeb PIC-ekkel kommunikalo modulokat .NET-ben kellene fejleszteni”
PIC18F14K50 nem úgy viselkedik, ahogy az adatlap alapján várná az ember!
CONFIG4L 3. bitje (BBSIZ) 1 értéke állítólag azt jeleneti, hogy a Boot Blokk 2 kszó méretű (0x0000- 0x0FFF). Azonban BBSIZ=1 mellett CONFIG5H CPB bitjét 0-ba állítva (Boot Blokk kódvédelem engedélyezve), csak 0x07FF-ig működik a kódvédelem (PICkit2 0000-t olvas). Valami tehát nem igaz a leírtakból!
A HID típusú eszközökkel csak valami USB-s lib-en keresztül lehet kommunikálni. Most épp azon törpölök, hogy a libusb-n keresztül megtaláljam a gyári PICkit2-met, egyelőre sikertelenül. Az viszont már lehet, hogy nem olyan ördögtől való gondolat, hogy ha a libusb-t használja az ember, akkor már ne a csupaszt, hanem inkább a dotnet-esített verzióját vegye elő, ugyanis ez megvan Linuxra és Winre is (és elvileg Mac-re és BSD-re is). Ha ezt használom, akkor van esély arra, hogy oprendszerek között könnyen hordozható program születik.
Egyébként lehet, hogy ennek a témának érdemes lenne akár egy topicot is nyitni, hátha érdekel több embert is a dolog.
A Mérés, automatizálás Linux környezetben topikba szerintem beleillik a téma.
Van egyébként libhid is (még nem használtam), azzal is lehet próbálkozni...
Nekem ezért tetszik a CDC.
Az megy Linux alatt is virtuális soros portként. Igaz, hogy Win alá driver kell, de szerintem nem olyan nagy probléma első csatlakozáskor telepíteni.
Szia!
Delphi-Jedi csomagban található hid programokkal sikeresen kezeltem a PicKit2-t és az abból átalakított két hid eszközömet (DDS generátor és Frekvenciamérő). Ez a csomag a Window$ belső függvényeit csomagolja be Delphi komponensé.... A hid eszközök is működnek más operációs rendszer alatt...
Gondolkodom rajta egy ideje, hogy hogyan lehet egy audio jelet egy PIC-kel feldolgozni és frekvenciánként az amplitúdót mérni, mondjuk egy ilyen spektrum analizátornál:
Bővebben: Youtube Hogyan lehet ilyet megvalósítani?
Valamelyik Nuts And Volts ban volt is egy jó cikk erről. Mikrokontrolleres megvalósítással. Én a matekkal nagyon hadilábon állok, de még én is felfogtam, annyira jól, egyszerűen vezette le példákon keresztül. Meg kéne keresni melyik számban volt.
Ez az FFT érdekes dolog, de annál bonyolultabb. Nincs erre valami letölthető instant assembly rutin mint például az osztásra, BCD -> decimális átalakításra stb.? AVR-re van mert Huba is talált: Bővebben: Link. Akkor PIC-re is biztosan kell lennie mert eddig úgy vettem észre amióta PIC-ezek hogy a PIC-eknek sokkal komolyabb irodalma, támogatása van a neten.
Nem találom, majd este még megnézem otthon melyik újságban volt, lehet nem is Nuts, hanem EPE volt. Nem tudom találsz-e asm forrást, ilyen bonyolultságú dolgokat talán már C ben szoktak inkább csinálni.
|
Bejelentkezés
Hirdetés |