C# 2, 10, 16 og 16 samt deres ASCII-koder --------//Konvertering af forskellige tegntyper i C# til seriel portkommunikation------------
Forståelse af tegnlængde streng s = "Jeg er en 2-soldat"; int len = s.Længde; 6 karakterer byte[] sarr = System.Text.Encoding.Default.GetBytes(s); len = sarr. Længde; 11 bytes
Det giver ingen mening at konvertere decimal til streng, og det skal konverteres til den tilsvarende ASCII-kode int t1 = 81; streng s1 = t1. ToString(); Denne decimalkonvertering svarer til ASCII-tegn, for at give mening. s1 = ((tegn)t1). ToString();
Hexadecimal til streng: Det giver ikke mening. Det er tostring. int intAB = 0x16; s1 = intAB.ToString(); Hexadecimal til ASCII-tegn: byte babb = 0x45; streng ass = ((karakter)babb). ToString();
ASCII-strenge til decimaltal streng tr = "2Ab Liu"; streng d =""; for (int i = 0; Jeg < TR. Længde; i++) { int ii = (int)Konverter.Til Char(overs. Understreng(i, 1)); d = d +" "+ ii.ToString(); }
ASCII-streng til hexadecimaltal streng s2 = "2Ab Liu"; byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2); StringBuilder sb = ny StringBuilder(); foreach (byte b i BA) { SB. Append(b.ToString("x") + " "); }
Hexadecimal til decimal int intA = 0x16; Når man definerer, skal den være 0x strengstrA = "16"; Strenge kan være uden int intA1 = Konverter.TilInt32(intA); int intA2 = Konverter.TilInt32(strA, 16);
10 til 16 strA = Konverter.tilStreng(intA2, 16);
Decimal til binær, hexadecimal er lignende int int10 = 10; streng str2 = Konverter.TilStreng(int10,2);
Binær til decimal int10 = Konverter.TilInt32(str2,2);
//-------------------------------------------------------------------------------
Hvordan modtager c# serialport et sæt hexadecimale tal? Hvordan modtager C# SerialPort et sæt hexadecimale tal, og hvordan bør programmet skrives? Bedste svar System.IO.Ports.SerialPort sp = ny System.IO.Ports.SerialPort ("COM1"); int buffersize = 6; Størrelsen af det hexadecimale tal (lad os sige 6Byte) Byte[] buffer = ny Byte[buffersize]; Opret en buffer Sp. Read(buffer, 0, buffersize); Læs fra COM1
Dette sæt hexadecimale tal behandles
C# seriel port sender data Dusørpoint: 5 - Resolutionstid: 2009-10-19 21:15 Jeg vil sende en hex-kommando til den serielle port, kommandostrengen er: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A" Hvordan kan jeg konvertere ovenstående streng numerisk, så computerens seriel port ved, at den streng, jeg sendte, er hexadecimal? Spørgsmålssupplement: Hvem har sådan en eksempelkode, hjælp mig venligst, jeg er hardwareproducent, ikke bekendt med software, jeg håber, mesteren kan give en detaljeret kode, tak! Spørger: daishuanqing - Praktikant niveau 1 Bedste svar Tilføj en reference: Microsoft.VisualBasic (er C#-kode, men den skal refereres.) )
Gå gennem SerialPortNames med følgende for at få alle serielportene Microsoft.VisualBasic.Devices.Computer pc = ny Microsoft.VisualBasic.Devices.Computer(); Foreach (streng s i PC. Ports.SerialPortNames)
{ this.comboBox1.Items.Add(s);
}
Derefter bruges det viste seriel portnavn comName til at hente operationsobjektet. Du kan åbne denne seriel port:
System.IO.Ports.SerialPort com = ny System.IO.Ports.SerialPort(comName); com. Open();
Data kan derefter skrives til den serielle port
Afsendelse af data til seriel port: com. WriteLine(this.textBox1.Text); byte-arrays kan også skrives com. Write(bArray,0,5); Det refererer til de 5 bytes, der starter fra 0, som skriver byte-arrayet bArray
Data kan også accepteres: com. ReadLine() Det er også muligt at læse bytes com. ReadByte();
Endelig er den lukket: com. Close();
Konverter også hexadecimalstrengen til byte byte b = Convert.ToByte("1A",16); C# seriel port sender data Dusørpoint: 5 - Resolutionstid: 2009-10-19 21:15 Jeg vil sende en hex-kommando til den serielle port, kommandostrengen er: "00 00 00 1B 54 59 55 54 00 00 00 00 00 00 00 00 00 00 FF E1 00 05 00 0D 0A" Hvordan kan jeg konvertere ovenstående streng numerisk, så computerens seriel port ved, at den streng, jeg sendte, er hexadecimal? Spørgsmålssupplement: Hvem har sådan en eksempelkode, hjælp mig venligst, jeg er hardwareproducent, ikke bekendt med software, jeg håber, mesteren kan give en detaljeret kode, tak! Spørger: daishuanqing - Praktikant niveau 1 Bedste svar Tilføj en reference: Microsoft.VisualBasic (er C#-kode, men den skal refereres.) )
Gå gennem SerialPortNames med følgende for at få alle serielportene Microsoft.VisualBasic.Devices.Computer pc = ny Microsoft.VisualBasic.Devices.Computer(); Foreach (streng s i PC. Ports.SerialPortNames)
{ this.comboBox1.Items.Add(s);
}
Derefter bruges det viste seriel portnavn comName til at hente operationsobjektet. Du kan åbne denne seriel port:
System.IO.Ports.SerialPort com = ny System.IO.Ports.SerialPort(comName); com. Open();
Data kan derefter skrives til den serielle port
Afsendelse af data til seriel port: com. WriteLine(this.textBox1.Text); byte-arrays kan også skrives com. Write(bArray,0,5); Det refererer til de 5 bytes, der starter fra 0, som skriver byte-arrayet bArray
Data kan også accepteres: com. ReadLine() Det er også muligt at læse bytes com. ReadByte();
Endelig er den lukket: com. Close();
Konverter også hexadecimalstrengen til byte byte b = Convert.ToByte("1A",16); |