通过mscomm控件采用二进制方式返回的数据已存入字节型数组a[10]中,请问a[0],a[1]中的内容是0,1的二进制数据吗?

解决方案 »

  1.   

    原则上讲,CPU只认识二进制数据!
    串口数据缓冲区是512,也就是说在内存中开辟了一个512个字节的区域用来存放串口接收数据。当有数据传入,比如以下两个字节:
    [二进制]00110000,00110001,这两个数据是在内存中的实际数据。
    如果你用一个二位数组,字节型(byte),悬停鼠标在a[0],a[1]上,你眼睛能看到的数据是十进制的[十进制]48,49。
    如果你用一个二位数组,字符型(char),你看到的是两个字符,‘0’,‘1’。串口上不存在发送的是二进制,还是十六进制,还是十进制数据又或者是文本数据。发送、接收全部都是二进制数据流。数据流长度和定义,要看你发送数据的类型。不同类型的数据,占用不同长度的字节数。
    同样一个十进制数10,字节型占用1个字节,整数型占用4个字节。文本类型数据发送的
    是每一个字符的ASCII码。
      

  2.   

    to eago(聪明老虎)  
    请问从传感器传送到串口的信号是什么数据类型??
      

  3.   

    还有
    to  eago(聪明老虎) 如果你用一个二位数组,字节型(byte),悬停鼠标在a[0],a[1]上,你眼睛能看到的数据是十进制的[十进制]48,49。
    为什么不是二进制呢??不明白
      

  4.   

    1 所有的数据,对象都是二进制的.计算机也只认识二进制2 Integer String Word 或其它一些自己定义的记录(Record)只是一些象模板一样的东西,是为了我们使用的方便而起的名字3 对于一个二制度的块(流)来说,只有你知道它定义的模板(即记录 Record)才可以明白它的内容