我用串口接受数据,用vb的mscomm控件接收状态信息以"0X1C"起始和"0X54"结尾,
     Time      C0H  时间
    Date      40H  日期
以上两个状态信息后面跟着的两个字节表示具体时间
    byte1.    oooooo01
              oooooo     表示分钟或月
     byte2.    oooooo01
              oooooo     表示小时或日
 如1c c0 xx xx 40 xx xx 54 
 
 实例:1C C0 DD 3A 40 09 66 54 为  14:55  2月25号            14:55   2月25号
请问怎么把接收的字符翻译成具体的时间请教高手赐教,不胜感激

解决方案 »

  1.   

    DD对应二进制为:110111 01 ,去掉最后两位后得:110111 对应的十进制数为:55
    3A对应二进制为:001110 10 ,去掉最后两位后得:001110 对应的十进制数为:14
    其他同理
      

  2.   

    在程序里可以这么实现:    Dim xx As Byte
        xx = &HDD       '这里对应的是数据中的DD
        
        xx = xx And &HFC
        xx = xx / 4
        
        Debug.Print xx
      

  3.   

    上面程序麻烦了,直接除4取整就可以了
       
        Debug.Print &HDD \ 4