软件注册站
热情软件屋

 
用MSCOMM控件与单片机通讯出现错误IDS_FRAMEERROR和IDS_BREAKRECEIVED
编号: QA000481    
建立日期: 1999年2月5日 最后修改日期: 1999年2月5日
所属类别: C/C++ - 网络与通信
   
    如何在VC++中用MSCOMM控件与单片机通讯,我在编程时老出错:
    单片机方式3:
    发送设为:
    MOV TMOD,#20H
    MOV TL1,#0FDH
    MOV TH1,#0FDH
    MOV SCON,#0C0H
    SETB TR1
    接收时设为
    mov tmod,#20h
    mov tl1,#0fdh
    mov th1,#0fdh
    mov scon,#0d0h
    setb tr1
    PC上MSCOMM:
    setting:9600,n,8,1
    handshaking: nohandshaking
    通讯时出现错误:
    IDS_FRAMEERROR,
    IDS_BREAKRECEIVED
    希望能得到您的帮助。(小天)
   
    根据你的单片机的代码可以看出,你所用的单片机是Intel8031兼容单片机。根据SCON的设置,你采用的是方式三,在方式三是8位数据,1位校验位,1位停止位,如果晶振是11.0592MHz,波特率是9600。在PC机上你的设置是波特率9600,8位数据,无校验位,1位停止位。由于帧长不同,在单片机上是11位(加一位起始位),在PC机上是10位,因此出现帧错误。因此改动PC机为 9600,e,8,1或9600,o,8,1。或者改单片机SCON为0x50。
    
    相关书籍:
    《利用Visual Basic实现串并行通信技》

    

此问题由lzy回答。

附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, 网络与通信, network, communicate, com, com1, com2

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio