C#编程,求串口编程起始位如何设置?

akzqs 2010-10-17 03:11:23
我要向串口发送一条指令:90 05 01 03 99,全为16进制的,但此串口设备有一位的起始位,发送后,设备会回送一条:90 05 50 03 E8,90h为起始位,但不知串口怎么设起始位,就将指令:90 05 01 03 99直接在“串口工具”里发送,是可以得到回送的“90 05 50 03 E8”的。
我现在在C#里不设起始位,直接用serialPort1.Write(openCoin, 0, 5)发送令:90 05 01 03 99,结果不报错,但也没有回送指令,不知为什么,请哥哥姐姐明示……急……
...全文
663 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
eguxlqly 2010-10-17
  • 打赏
  • 举报
回复
学习下 现在正学用C#编串口通讯的东西
akzqs 2010-10-17
  • 打赏
  • 举报
回复
SerialPort port = new SerialPort("COM1", 9600, Parity.Even, 8, StopBits.One); 或是用这种方式设置的
akzqs 2010-10-17
  • 打赏
  • 举报
回复
直执拖的串口控件
private void button1_Click(object sender, EventArgs e)
{
serialPort1.PortName = "COM1";
serialPort1.BaudRate = 9600;
serialPort1.DataBits = 8;
serialPort1.StopBits = StopBits.One;
serialPort1.Parity = Parity.Even;
serialPort1.Open();

//90 05 01 03 99 使能
char[] startCoin={Convert.ToChar(0x90),Convert.ToChar(0x05),Convert.ToChar(0x01),Convert.ToChar(0x03),Convert.ToChar(0x99)};

serialPort1.Write(startCoin,0,5);

string result = "";

serialPort1.ReadTimeout = 500;

result = serialPort1.ReadExisting();

MessageBox.Show(result);
serialPort1.Close();

}
yaazz 2010-10-17
  • 打赏
  • 举报
回复
起始位是不用设的,就发送你的命令就是
看看你实例化串口的地方

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧