本人按照报纸上的图纸自己制作了一个红外线接受器, 使用正常, 现在我想自己写一个程序, 我使用了MSCOM控件, 可是怎么读都读不到它接受到的信号,  请大家帮帮我, 最好有个例子分数可以在加

解决方案 »

  1.   

    如何用MSComm Control传Binary Data以下是读取Binary DataDim Buffer as Variant
    Dim Arr() as Byte' 设定并开启连接埠
    MSComm1.CommPort = 1
    ' 连线速度 9600 baud、无同位检查、资料位元 8、停止位元 1
    MSComm1.Settings = "9600,N,8,1"
    告诉控制项当使用 Input 时,读取整个暂存区
    MSComm1.InputLen = 0

    MSComm1.PortOpen = True
    ' 设定 InputMode 以读取二进位资料
    MSComm1.InputMode = comInputModeBinary
    ' 等待直到输入暂存区有 10 个位元组
    Do Until MSComm1.InBufferCount < 10
        DoEvents
    Loop
    ' 往暂存区存二进位资料
    Buffer = MSComm1.Input
    ' 指定给位元组阵列以便处理
    Arr = Buffer
    MSComm1.PortOpen = False
    而送出Binary的资料则没有像InputMode的属性,在VB5.0中
    Output属性是接Varant所以直接将ByteArray传送出去就好了,
    所以重点变成如何将想传的资料放入ByteArrayDim Buffer(5)Buffer(0) = 210
    Buffer(1) = 150
    Buffer(2) = 68
    Buffer(3) = 56MSComm1.Output = Buffer
      

  2.   

    回复: golden24kcn(不甜) 就算是二进制数据那也要在comEvReceive有反应才行啊,我这里一点反应也没有, 用那些已经写好程序比如Ircontrol等软件都可以使用我做的这个红外线接受器, 我都快把我的遥控器按坏了
      

  3.   

    计算机自带的红外口怎么读写,没有COM口号啊?
      

  4.   

    红位线信号不是合法的RS232数据,所以用MSCOMM是无法受到的这个要用硬件的角度去理解我估计信号RX从串口的某个状态脚进来,你可以先用示波器量一下,看看北航的〈PC机与单片机数据通讯技术〉里有讲,太多了,不想打,^_^