C# 2, 10, 16 un 16 un to ASCII kodi --------//Dažādu rakstzīmju tipu konvertēšana C# seriālā porta saziņai------------
Izpratne par rakstzīmju garumu virkne s = "Es esmu 2 karavīrs"; int len = s.Garums; 6 rakstzīmes baits[] sarr = System.Text.Encoding.Default.GetBytes(s); len = sarr. Garums; 11 baiti
Nav jēgas konvertēt decimāldaļu uz virkni, un tas ir jāpārvērš par atbilstošo ASCII kodu int t1 = 81; virkne s1 = t1. ToString(); Šī decimāldaļa konvertēšana atbilst ASCII rakstzīmēm, lai būtu jēga. s1 = ((char)t1). ToString();
Heksadecimāls virknei: tam nav jēgas. Tas ir virkne. int intAB = 0x16; s1 = intAB.ToString(); Heksadecimālas līdz ASCII rakstzīmes: baits babb = 0x45; stīgu ass = ((char)babb). ToString();
ASCII virknes decimālskaitļos virkne tr = "2Ab Liu"; virkne d =""; for (int i = 0; Es < tr. Garums; i++) { int ii = (int)Convert.ToChar(tr. Apakšvirkne (i, 1)); d = d + "+ ii.ToString(); }
ASCII virkne uz heksadecimālo skaitli virkne s2 = "2Ab Liu"; baits[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2); StringBuilder sb = jauns StringBuilder(); foreach (baits b ba) { sb. Append(b.ToString("x") + " "); }
Heksadecimāls līdz decimāldaļai int intA = 0x16; Definējot, tam jābūt 0x virkne strA = "16"; Stīgas var būt bez int intA1 = Konvertēt.UzInt32(intA); int intA2 = Konvertēt.UzInt32(strA, 16);
10 līdz 16 strA = Convert.ToString(intA2, 16);
Decimālais līdz binārs, heksadecimāls ir līdzīgs int int10 = 10; virkne str2 = Convert.ToString(int10,2);
Binārais līdz decimāldaļai int10 = Konvertēt.UzInt32(str2,2);
//-------------------------------------------------------------------------------
Kā c# serialport saņem heksadecimālo skaitļu kopu Kā C# SerialPort saņem heksadecimālo skaitļu kopu un kā programma jāraksta? Labākā atbilde System.IO.Ports.SerialPort sp = jauns System.IO.Ports.SerialPort ("COM1"); int bufera lielums = 6; Heksadecimālā skaitļa lielums (teiksim, 6 baiti) Baits[] buferis = jauns baits[buferizmērs]; Bufera izveide sp. Read(buferis, 0, bufera lielums); Lasīt no COM1
Šī heksadecimālo skaitļu kopa tiek apstrādāta
C# seriālais ports sūta datus Bounty punkti: 5 - Atrisināšanas laiks: 2009-10-19 21:15 Es vēlos nosūtīt sešstūra komandu uz seriālo portu, komandu virkne ir: "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" Kā es varu konvertēt iepriekš minēto virkni skaitliski, lai datora seriālais ports zinātu, ka manis nosūtītā virkne ir heksadecimāla? Jautājuma papildinājums: Kam ir šāds parauga kods, lūdzu, palīdziet man, es esmu aparatūras ražotājs, kas nav pazīstams ar programmatūru, es ceru, ka kapteinis var sniegt detalizētu kodu, paldies! Jautājums: daishuanqing - praktikants 1. līmenis Labākā atbilde Pievienojiet atsauci: Microsoft.VisualBasic (ir C# kods, bet uz to ir jāatsaucas.) )
Šķērsojiet SerialPortNames ar tālāk norādīto, lai iegūtu visus seriālos portus Microsoft.VisualBasic.Devices.Computer dators = jauns Microsoft.VisualBasic.Devices.Computer(); foreach (virkne s datorā. Ports.SerialPortNames)
{ this.comboBox1.Items.Add(s);
}
Tad parādītais seriālā porta nosaukums comName tiek izmantots, lai iegūtu operācijas objektu. Jūs varat atvērt šo seriālo portu:
System.IO.Ports.SerialPort com = jauns System.IO.Ports.SerialPort(comName); com. Atvērts();
Pēc tam datus var ierakstīt seriālajā portā
Datu nosūtīšana uz seriālo portu: com. WriteLine(this.textBox1.Text); Var rakstīt arī baitu masīvus com. Rakstīt(bMasīvs,0,5); Tas attiecas uz 5 baitiem, sākot no 0, kas raksta baitu masīvu bArray
Datus var pieņemt arī: com. ReadLine() Ir iespējams arī lasīt baitus com. ReadByte ();
Visbeidzot, tas ir slēgts: com. Aizvērt ();
Konvertējiet arī heksadecimālo virkni par baitu baits b = Convert.ToByte("1A",16); C# seriālais ports sūta datus Bounty punkti: 5 - Atrisināšanas laiks: 2009-10-19 21:15 Es vēlos nosūtīt sešstūra komandu uz seriālo portu, komandu virkne ir: "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" Kā es varu konvertēt iepriekš minēto virkni skaitliski, lai datora seriālais ports zinātu, ka manis nosūtītā virkne ir heksadecimāla? Jautājuma papildinājums: Kam ir šāds parauga kods, lūdzu, palīdziet man, es esmu aparatūras ražotājs, kas nav pazīstams ar programmatūru, es ceru, ka kapteinis var sniegt detalizētu kodu, paldies! Jautājums: daishuanqing - praktikants 1. līmenis Labākā atbilde Pievienojiet atsauci: Microsoft.VisualBasic (ir C# kods, bet uz to ir jāatsaucas.) )
Šķērsojiet SerialPortNames ar tālāk norādīto, lai iegūtu visus seriālos portus Microsoft.VisualBasic.Devices.Computer dators = jauns Microsoft.VisualBasic.Devices.Computer(); foreach (virkne s datorā. Ports.SerialPortNames)
{ this.comboBox1.Items.Add(s);
}
Tad parādītais seriālā porta nosaukums comName tiek izmantots, lai iegūtu operācijas objektu. Jūs varat atvērt šo seriālo portu:
System.IO.Ports.SerialPort com = jauns System.IO.Ports.SerialPort(comName); com. Atvērts();
Pēc tam datus var ierakstīt seriālajā portā
Datu nosūtīšana uz seriālo portu: com. WriteLine(this.textBox1.Text); Var rakstīt arī baitu masīvus com. Rakstīt(bMasīvs,0,5); Tas attiecas uz 5 baitiem, sākot no 0, kas raksta baitu masīvu bArray
Datus var pieņemt arī: com. ReadLine() Ir iespējams arī lasīt baitus com. ReadByte ();
Visbeidzot, tas ir slēgts: com. Aizvērt ();
Konvertējiet arī heksadecimālo virkni par baitu baits b = Convert.ToByte("1A",16); |