- Milyen okostelefont vegyek?
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- Poco F7 Pro - jó, de az amatőr sem rossz
- Google Pixel topik
- Fotók, videók mobillal
- Samsung Galaxy Z Fold5 - toldozás-foldozás
- iPhone topik
- One mobilszolgáltatások
- Megjött a jubileumi Pixel széria
- Honor Magic5 Pro - kamerák bűvöletében
Ú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
- Milyen okostelefont vegyek?
- Villanyszerelés
- Chieftec játék értékes nyereményekkel!
- Hat év támogatást csomagolt fém házba a OnePlus Nord 4
- One otthoni szolgáltatások (TV, internet, telefon)
- BestBuy topik
- Azonnali fáradt gőzös kérdések órája
- World of Tanks - MMO
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Nők, nőügyek (18+)
- További aktív témák...
- Samsung Galaxy Tab A9+ 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! ASROCK B550M R5 5600X 32GB DDR4 1TB SSD RTX 3060 12GB Zalman N5 MF Be Quiet 650W
- Bomba ár! Dell Latitude 5510 - i5-10G I 8GB I 256SSD I HDMI I 15,6" FHD I Cam I W11 I Gari!
- Samsung Galaxy Note 20 Ultra 256GB, Kártyafüggetlen, 1 Év Garanciával
- DEll G15 5530
Állásajánlatok
Cég: FOTC
Város: Budapest