C# 2, 10, 16 ja 16 ning nende ASCII-koodid --------//Erinevate tähemärkide tüüpide teisendamine C#-s seriaalportide kommunikatsiooniks------------
Tähemärgi pikkuse mõistmine string s = "Ma olen 2 sõdur"; int len = s.Pikkus; 6 tegelast byte[] sarr = System.Text.Encoding.Default.GetBytes(s); len = sarr. Pikkus; 11 baiti
Pole mõtet teisendada kümnendsüsteemi stringiks ja see tuleb teisendada vastavaks ASCII koodiks int t1 = 81; string s1 = t1. ToString(); See kümnendkonda vastab ASCII märkidele, et see oleks mõistlik. s1 = ((märk) t1). ToString();
Heksadetsimaal stringini: See ei ole loogiline. See on nöör. int intAB = 0x16; s1 = intAB.ToString(); Heksadetsimaalsed ASCII märgid: bait babb = 0x45; string ass = ((char)babb). ToString();
ASCII stringidest kümnendarvudeks string tr = "2Ab Liu"; string d =""; for (int i = 0; Ma < tr. Pikkus; i++) { int ii = (int)Konvert.ToChar(tr. Alamstring(i, 1)); d = d +" "+ ii.ToString(); }
ASCII string kuueteistkümnendsüsteemiks string s2 = "2Ab Liu"; byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2); StringBuilder sb = uus StringBuilder(); foreach (bait b baas BA-s) { SB. Append(b.ToString("x") + " "); }
Heksadekomali kuni kümnendkomaa int intA = 0x16; Määratlemisel peab see olema 0x string strA = "16"; Stringid võivad olla ilma int intA1 = Convert.ToInt32(intA); int intA2 = Convert.ToInt32(strA, 16);
10 kuni 16 strA = Convert.ToString(intA2, 16);
Kümnendsüsteemist binaarseni, kuueteistkümnendsüsteemid on sarnased int int10 = 10; string str2 = Convert.ToString(int10,2);
Binaarne kümnendsüsteemist int10 = Convert.ToInt32(str2,2);
//-------------------------------------------------------------------------------
Kuidas saab c# serialport vastu võtta kuueteistkümnendsüsteemi numbrite komplekti Kuidas C# SerialPort saab kuueteistkümnendarvude komplekti ja kuidas programm peaks olema kirjutatud? Parim vastus System.IO.Ports.SerialPort sp = uus System.IO.Ports.SerialPort("COM1"); int puhversuurus = 6; Kuueteistkümnendsüsteemi suuruse suurus (ütleme, et 6 baiti) Bait[] puhver = uus bait[buffersize]; Loo puhver sp. Read(puhver, 0, puhvri suurus); Loe COM1-st
Seda kuueteistkümnendsüsteemide komplekti töödeldakse
C# seriaalport saadab andmeid Preemiapunktid: 5 - Resolutsiooni aeg: 2009-10-19 21:15 Soovin saata kuusnurkkäsu seriaalpordile, käsujada on: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A" Kuidas ma saan ülaltoodud stringi numbriliselt teisendada nii, et arvuti seriaalport teaks, et saadetud string on kuueteistkümnendsüsteem? Küsimuse lisa: Kellel on selline näidiskood, palun aidake mind, olen riistvaratootja, tarkvaraga kursis ei ole, loodan, et meister saab anda detailse koodi, aitäh! Küsija: daishuanqing - praktikant tase 1 Parim vastus Lisa viide: Microsoft.VisualBasic (on C# kood, kuid seda tuleb viidata.) )
Läbige SerialPortNames järgmiselt, et saada kõik seriaalpordid Microsoft.VisualBasic.Devices.Computer PC = uus Microsoft.VisualBasic.Devices.Computer(); foreach (string s arvutis. Ports.SerialPortNimed)
{ this.comboBox1.Items.Add(s);
}
Seejärel kasutatakse ekraanil kuvatavat seeriapordi nime comName operatsiooniobjekti saamiseks. Saad avada selle seeriapordi:
System.IO.Ports.SerialPort com = uus System.IO.Ports.SerialPort(comName); com. Open();
Andmed saab seejärel kirjutada seriaalporti
Andmete saatmine seriaalporti: com. WriteLine(this.textBox1.Text); Baitmassiive saab kirjutada ka com. write(bArray,0,5); See viitab 5 baitile, mis algavad nullist ja kirjutavad baitide massiivi bArray
Andmeid võib aktsepteerida ka: com. ReadLine() Samuti on võimalik lugeda baite com. ReadByte();
Lõpuks on see suletud: com. Close();
Samuti teisenda kuueteistkümnendsüsteem baidiks bait b = Convert.ToByte("1A",16); C# seriaalport saadab andmeid Preemiapunktid: 5 - Resolutsiooni aeg: 2009-10-19 21:15 Soovin saata kuusnurkkäsu seriaalpordile, käsujada on: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A" Kuidas ma saan ülaltoodud stringi numbriliselt teisendada nii, et arvuti seriaalport teaks, et saadetud string on kuueteistkümnendsüsteem? Küsimuse lisa: Kellel on selline näidiskood, palun aidake mind, olen riistvaratootja, tarkvaraga kursis ei ole, loodan, et meister saab anda detailse koodi, aitäh! Küsija: daishuanqing - praktikant tase 1 Parim vastus Lisa viide: Microsoft.VisualBasic (on C# kood, kuid seda tuleb viidata.) )
Läbige SerialPortNames järgmiselt, et saada kõik seriaalpordid Microsoft.VisualBasic.Devices.Computer PC = uus Microsoft.VisualBasic.Devices.Computer(); foreach (string s arvutis. Ports.SerialPortNimed)
{ this.comboBox1.Items.Add(s);
}
Seejärel kasutatakse ekraanil kuvatavat seeriapordi nime comName operatsiooniobjekti saamiseks. Saad avada selle seeriapordi:
System.IO.Ports.SerialPort com = uus System.IO.Ports.SerialPort(comName); com. Open();
Andmed saab seejärel kirjutada seriaalporti
Andmete saatmine seriaalporti: com. WriteLine(this.textBox1.Text); Baitmassiive saab kirjutada ka com. write(bArray,0,5); See viitab 5 baitile, mis algavad nullist ja kirjutavad baitide massiivi bArray
Andmeid võib aktsepteerida ka: com. ReadLine() Samuti on võimalik lugeda baite com. ReadByte();
Lõpuks on see suletud: com. Close();
Samuti teisenda kuueteistkümnendsüsteem baidiks bait b = Convert.ToByte("1A",16); |