Вопрос следующий. Имеем простейшее устройство включенное в USB-порт (конвертер USB в RS-232)
.
Задача:
Отправить на него единицу, что бы мигнула лампочка.
Код программы следующий:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
serialPort1.WriteLine("1");
}
private void button2_Click(object sender, EventArgs e)
{
serialPort1.WriteLine("0");
}
private void Form1_Load(object sender, EventArgs e)
{
string[] myPort;
myPort = System.IO.Ports.SerialPort.GetPortNames();
comboBox1.Items.AddRange(myPort);
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (serialPort1.IsOpen == true)
serialPort1.Close();
}
private void button3_Click(object sender, EventArgs e)
{
serialPort1.BaudRate = 9600;
serialPort1.PortName = comboBox1.Text.ToString();
if (serialPort1.IsOpen == false)
serialPort1.Open();
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
serialPort1.PortName = comboBox1.Text.ToString();
}
}
}
Решил посмотреть осцилографом, что конкретно мы получаем на выходе:
И вот сам вопрос:
В какой кодировке (в какой битности) мы получаем сигнал через COM-порт по RS-232. Потому что по осцилограме не ясно. Я сначала подумал, что это 31 в HEX, но, вроде не похоже.