Hirdetés
- Samsung Galaxy S25 - végre van kicsi!
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Xiaomi 15T - reakció nélkül nincs egyensúly
- One mobilszolgáltatások
- Samsung Galaxy Watch6 Classic - tekerd!
- Beárazták a Nubia Z80 Ultra európai verzióját
- Motorola Edge 70 - többért kevesebbet
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Google Pixel topik
- Okosóra és okoskiegészítő topik
Új hozzászólás Aktív témák
-
t-shirt
veterán
Sikerült megírni amit szerettem volna, de nem lett túl elegáns, ami valószínűleg csak az én járatlanságomnak köszönhető.
A port kommunikáció elvár működése: a „munkagép” küld egy üzenetet a soros porton keresztül a PC-nek miszerint várja a következő adatot. A program ezt az eseményt érzékelve egy tömbből elküldi a következő adatot és várja az újabb adatkérést.A gondom azzal volt, hogy a példa programban amit sikerült életre kelteni a küldés és fogadás külön metódus, és nem sikerült egybe gyúrnom a kettőt. Szerintem az egyik ideális megoldás az lenne, hogy a fogadás metódusnál megtörténik az esemény kezelés és az meghívná a küldés metódust. Ezt viszont nem tudtam megírni mert ahhoz, hogy meghívjam a küldésnek át kell adnom a többek között a ’port’-ot is, de azt meg nem tudtam bevinni a ’Port_DataReceived’-hez.
A jelenlegi működés az hogy ha jön üzenet akkor egy változóba írok ’mentes_valtozo’ ezt a változót egy ciklusban (main, using) kiértékelve meghívom a küldés metódust és nullázom a ’mentes_valtozo’-t.
using (var port = new SerialPort("COM" + cp))
{
port.BaudRate = 9600;
port.Parity = Parity.None;
port.StopBits = StopBits.One;
port.DataBits = 8;
port.Handshake = Handshake.None;
port.RtsEnable = true;
port.DataReceived += Port_DataReceived;
port.Open();
while (fo_tomb_index <= (fo_tomb_merete-1))
{
if (mentes_valtozo != null)
{
WriteData(port, fo_tomb[fo_tomb_index]);
mentes_valtozo = null;
Console.WriteLine(fo_tomb[fo_tomb_index]);
fo_tomb_index++;
}
}
}
}
private static string mentes_valtozo;
private static void WriteData(SerialPort port, string readLine)
{
port.WriteLine(readLine);
}
private static void Port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
var sp = (SerialPort)sender;
string dataReceived = sp.ReadExisting();
mentes_valtozo = dataReceived;
}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- iPad topik
- Samsung Galaxy S25 - végre van kicsi!
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Arc Raiders
- Kormányok / autós szimulátorok topikja
- Hobby rádiós topik
- Milyen processzort vegyek?
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Formula-1
- Futás, futópályák
- További aktív témák...
- Apple iPhone 16 256 GB Black Apple Garancia Beszámítás Házhozszállítás
- EliteBook 860 16 G10 27% 16" FHD+ IPS i7-1365U 32GB 512GB NVMe ujjlolv IR kam gar
- Xbox series X+kontik+füles ajándék tölthető elemekkel és töltővel
- Samsung Galaxy S24 8/128 GB Amber Yellow 6 hónap Garancia Beszámítás Házhozszállítás
- LG UltraGear 38GN950P-B Monitor! 38" 3840x1600 / 1ms / 160Hz / G-Sync / FreeSync! BeszámítOK
- GoPro HERO12 Black (CHDHX-121-RW) akciókamera
- ASUS ROG Zephyrus G14 - 14" WUXGA 144Hz - Ryzen 9 6900HS - 16GB - 1TB - Win11 - RX 6800S 8GB - HUN
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! Apple Watch Series 6/Apple Watch Series 7/Apple Watch Series 8
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


