C# 2, 10, 16 e 16 e i loro codici ASCII --------//Conversione di vari tipi di caratteri in C# per la comunicazione tramite porte seriali------------
Comprese della lunghezza del carattere stringa s = "Sono un soldato a 2"; int len = s.Lunghezza; 6 personaggi byte[] sarr = System.Text.Encoding.Default.GetBytes(s); Len = sarr. Lunghezza; 11 byte
Non ha senso convertire il decimale in stringa, e deve essere convertito nel corrispondente codice ASCII int t1 = 81; stringa s1 = t1. ToString(); Questa conversione decimale corrisponde a caratteri ASCII per avere senso. s1 = ((char)t1). ToString();
Esadecimale a stringa: Questo non ha senso. È per la corda. int intAB = 0x16; s1 = intAB.ToString(); Caratteri esadecimali ad ASCII: byte babb = 0x45; string ass = ((char)babb). ToString();
Stringhe ASCII a numeri decimali stringa tr = "2Ab Liu"; stringa d =""; per (int i = 0; Ho < tr. Lunghezza; i++) { int ii = (int)Convert.ToChar(trad. Sottostringa(i, 1)); d = d +" "+ ii.ToString(); }
Stringa ASCII a numero esadecimale stringa s2 = "2Ab Liu"; byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2); StringBuilder sb = nuovo StringBuilder(); foreach (byte b in ba) { SB. Appendere (b.ToString("x") + " "); }
Esadecimale a decimale int intA = 0x16; Quando si definisce deve essere 0x stringhe strA = "16"; Le stringhe possono essere senza int intA1 = Convert.ToInt32(intA); int intA2 = Convert.ToInt32(strA, 16);
10-16 strA = Convert.ToString(intA2, 16);
Dal decimale al binario, l'esadecimale è simile int int10 = 10; stringa str2 = Convert.ToString(int10,2);
Da binario a decimale int10 = Convert.ToInt32(str2,2);
//-------------------------------------------------------------------------------
Come riceve il serialport in c# un insieme di numeri esadecimali Come fa C# SerialPort a ricevere un insieme di numeri esadecimali e come dovrebbe essere scritto il programma? Migliore risposta System.IO.Ports.SerialPort sp = nuovo System.IO.Ports.SerialPort("COM1"); int buffersize = 6; La dimensione del numero esadecimale (diciamo 6 byte) Buffer di byte[] = nuovo Byte[buffersize]; Crea un buffer sp. Lettura (buffer, 0, buffersize); Letto da COM1
Questo insieme di numeri esadecimali viene elaborato
La porta seriale C# invia dati Punti taglia: 5 - Tempo di risoluzione: 19-10-2009 21:15 Voglio inviare un comando esadecimale alla porta seriale, la stringa di comando: "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" Come posso convertire numericamente la stringa sopra in modo che la porta seriale del computer sappia che la stringa che ho inviato è esadecimale? Supplemento domanda: Chi ha un codice di esempio del genere, per favore aiutatemi, sono un produttore hardware, non conosco il software, spero che il master possa fornire un codice dettagliato, grazie! Interrogante: daishuanqing - Tirocinante Livello 1 Migliore risposta Aggiungi un riferimento: Microsoft.VisualBasic (è codice C#, ma deve essere riferito.) )
Attraversa i SerialPortNames con quanto segue per ottenere tutte le porte seriali Microsoft.VisualBasic.Devices.Computer pc = new Microsoft.VisualBasic.Devices.Computer(); Foreach (stringa s in pc. Ports.Nomi Porta)
{ this.comboBox1.Items.Add(s);
}
Successivamente viene utilizzato il nome della porta seriale comName visualizzato per ottenere l'oggetto operazione. Puoi aprire questa porta seriale:
System.IO.Ports.SerialPort com = nuovo System.IO.Ports.SerialPort(comName); com. Open();
I dati possono quindi essere scritti sulla porta seriale
Invio dei dati alla porta seriale: com. WriteLine(this.textBox1.Text); Gli array di byte possono anche essere scritti com. Scrivere(bArray,0,5); Si riferisce ai 5 byte che partono da 0 e che scrivono l'array di byte bArray
I dati possono essere accettati anche: com. ReadLine() È anche possibile leggere byte com. ReadByte();
Infine, è chiuso: com. Close();
Inoltre, converti la stringa esadecimale in byte byte b = Convert.ToByte("1A",16); La porta seriale C# invia dati Punti taglia: 5 - Tempo di risoluzione: 19-10-2009 21:15 Voglio inviare un comando esadecimale alla porta seriale, la stringa di comando: "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" Come posso convertire numericamente la stringa sopra in modo che la porta seriale del computer sappia che la stringa che ho inviato è esadecimale? Supplemento domanda: Chi ha un codice di esempio del genere, per favore aiutatemi, sono un produttore hardware, non conosco il software, spero che il master possa fornire un codice dettagliato, grazie! Interrogante: daishuanqing - Tirocinante Livello 1 Migliore risposta Aggiungi un riferimento: Microsoft.VisualBasic (è codice C#, ma deve essere riferito.) )
Attraversa i SerialPortNames con quanto segue per ottenere tutte le porte seriali Microsoft.VisualBasic.Devices.Computer pc = new Microsoft.VisualBasic.Devices.Computer(); Foreach (stringa s in pc. Ports.Nomi Porta)
{ this.comboBox1.Items.Add(s);
}
Successivamente viene utilizzato il nome della porta seriale comName visualizzato per ottenere l'oggetto operazione. Puoi aprire questa porta seriale:
System.IO.Ports.SerialPort com = nuovo System.IO.Ports.SerialPort(comName); com. Open();
I dati possono quindi essere scritti sulla porta seriale
Invio dei dati alla porta seriale: com. WriteLine(this.textBox1.Text); Gli array di byte possono anche essere scritti com. Scrivere(bArray,0,5); Si riferisce ai 5 byte che partono da 0 e che scrivono l'array di byte bArray
I dati possono essere accettati anche: com. ReadLine() È anche possibile leggere byte com. ReadByte();
Infine, è chiuso: com. Close();
Inoltre, converti la stringa esadecimale in byte byte b = Convert.ToByte("1A",16); |