- Befutottak a beágyazott rendszerekbe szánt, tempós Ryzenek
- Mi történik a szemeddel, ha napi 8 órát monitort nézel? | Orvos válaszol
- A Synology visszatáncolt a saját márkás HDD-k megkövetelésének kapcsán
- 350 Hz-es IPS kijelzővel gyarapodott a Samsung portfóliója
- Már nem tudni, hogy mikor kerülhetnek piacra a DGX Spark gépek
Új hozzászólás Aktív témák
-
fodi1
csendes tag
A téma: Adatfogadás a soros portról DELPHI7 -el, pld. PIC kártya felől, az adatok pc-n történő kijelzése, és feldolgozása miatt.
Történet:
Egy PIC es fejlesztővel készítettem egy AD konvertert, mely az adatokat a saját LCD kijelzőjén kijelzi, és továbbítja a soros porton keresztül a pc felé.
A PIC boardon egy potival modellezem a kimenő értéket. 10bites ad-ról lévén szó 2-től 2023-ig mutat az LCD a pic-kártyán a poti két végállásában.Probléma:
A pc-n elindított terminal nevű free programocska gyönyörűen kiírja a mért értékeket, alapból Hexában, ahogy küldöm HI_byte, és LO_byte, ill. ha akarom decimálisan is kijelzi.
Ez bizonyítja a PIC oldal működőképességét.
Ha viszont DELPHI7 ben olvasom ki az adatokat, csak grafikus ákom-bákomot kapok, vagy semmit, mely természetesen változik, a küldött számoknak megfelelően.
Mindenféle karakterkonverziót megpróbáltam, de csak nem kapom meg a várt számadatokat (2-1024ig).
Miért természetes a kis terminál programocskának amit a delphiben én nem tudok megoldani?Delphi kódot mellékelem.
Igen megtisztelnétek, ha megoldást kapnék kezdő létemre a problémámra.
// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Function ComPortRead:string;
var c,i:integer;
BytesRead:dword;
st:string;
begin
BytesRead:=0;
if not ReadFile(ComHandle, RdBuff, SizeOf(RdBuff), BytesRead, nil) then begin
end;//st:='';
if BytesRead>0 then beginfor i:=1 to BytesRead do begin
st:=RdBuff[i-1];
end;
end;
ComPortRead:=st;
end;//hossz:=length(ComPortRead); // HOSSZ ?
//label6.Caption:=inttostr(hossz); // Kiírniread_ki:= ComPortRead;
kar1:=copy(ComPortRead,1,1); // Kivesszük az első karaktert
kar2:=copy(ComPortRead,2,1); // és a másodikat// Numerikussá alakítjuk
szam1:=strtoint(kar1);
szam2:=strtoint(kar2);// Szam1 viszaalakítása. (rotated Hi bits - Make back: to left)
szam1:= szam1 shl(8);// A Hi ls Lo szám összege adja a küldött értéket, a szám1-be tesszük
szam1:=szam1+szam2;// A kar1-be tesszük a stringgé visszaalakított számot
kar1:= inttostr(szam1);label6.Caption:=kar1; // Kiírni
Új hozzászólás Aktív témák
- Új FULL HD webkamera + Számla
- 123 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070 - 4 év garancia
- AZONNALI SZÁLLÍTÁS Eredeti Microsoft Office 2019 Professional Plus
- BESZÁMÍTÁS! Gigabyte H110M i5 6500 8GB DDR4 240GB SSD GTX 1050Ti 4GB AeroCool V3X Green nBase 600W
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest