int i=0; 2018-08-27 09:06 采纳率: 50%
浏览 2453
已采纳

C#编写串口通讯程序,需要发送数组怎么发送?

byte[] bte = { 170, 0, 15, 31,, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204 };
port.Write(bte);

这样发送一个数组会报错,要转成string类型,但转成后发送就不是想要的数据了。比如要发送:AA 00 31 00 00 CC 这样的数据。求大佬解惑

  • 写回答

5条回答 默认 最新

  • 南京123 2018-08-28 06:57
    关注

    函数:Write(array[], Int32, Int32)
    报错的原因你缺少参数
    函数:Write(String)
    如果发字符串是用上面这个函数
    所以发送字符串和发送16进制数据需要的传递参数是不一样的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • TinTin丶J 2018-08-27 09:13
    关注

    byte[] bte = new byte[];
    bte[1]=0xAA;
    bte[2]=0x00;
    bte[3]=0x31;
    bte[4]=0x00;;
    bte[5]=0x00;
    bte[6]=0xCC;
    就是说你往Byte中存值得时候放16进制的值

    评论
  • xingjianfengaa 2018-08-27 09:18
    关注

    你传char[] 因为每一个char字符都可当成一个数字 比如a =97 你 char ch=97你输出ch时就是字符a 你把它转成整数时就是97,正好char数组的每一位置就是你的一个数字,如果超出255就要在转换时2位转成一个数字

    评论
  • int i=0; 2018-08-27 09:23
    关注

    图片说明 为什么TCP通讯就可以直接传数组 串口不行吗?

    评论
  • 496649247 2018-08-27 15:55
    关注

    byte[] buf=new byte[5];
    buf[0]=0xAA;
    buf[1]=0x00;
    buf[2]=0x31;
    buf[3]=0x00;;
    buf[4]=0x00;
    if (port.IsOpen == false)
    return -1;
    port.Write(buf, 0,5);
    return 0;

    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 Tpad api账户 api口令
  • ¥30 ppt进度条制作,vba语言
  • ¥15 stc12c5a60s2单片机测光敏ADC
  • ¥15 生信simpleaffy包下载
  • ¥15 请教一下simulink中S函数相关问题
  • ¥15 在二层网络中,掩码存在包含关系即可通信
  • ¥15 端口转发器解析失败不知道电脑设置了啥
  • ¥15 Latex算法流程图行号自定义
  • ¥15 关于#python#的问题:我在自己的电脑上运行起来总是报错,希望能给我一个详细的教程,(开发工具-github)
  • ¥40 基于51单片机实现球赛计分器功能