pimpyan
驱动牛犊
驱动牛犊
  • 注册日期2005-07-22
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分250分
  • 威望26点
  • 贡献值0点
  • 好评度25点
  • 原创分0分
  • 专家分0分
阅读:1084回复:1

再一次求救,关于串口通信

楼主#
更多 发布于:2007-09-04 13:53
我的au1200有一个红外串口。配置如下:
    PortDCB.BaudRate = 9600; //波特率
    PortDCB.fBinary = TRUE; //Win32不支持非二进制串行传输模式,必须为TRUE
    PortDCB.fParity = FALSE; //启用奇偶校验
    PortDCB.fOutxCtsFlow = FALSE; //串行端口的输出由CTS线控制
    PortDCB.fOutxDsrFlow = FALSE; //关闭串行端口的DSR流控制
    PortDCB.fDtrControl = DTR_CONTROL_DISABLE; //启用DTR线
    PortDCB.fDsrSensitivity = FALSE; //如果设为TRUE将忽略任何输入的字节,除非DSR线被启用
    PortDCB.fTXContinueOnXoff = FALSE; //当为TRUE时,如果接收缓冲区已满且驱动程序已传送XOFF字符,将使驱动程序停止传输字符
    PortDCB.fTXContinueOnXoff = FALSE;
    PortDCB.fOutX = FALSE; //设为TRUE指定XON/XOFF控制被用于控制串行输出
    PortDCB.fInX = FALSE; //设为TRUE指定XON/XOFF控制被用于控制串行输入
    PortDCB.fErrorChar = FALSE; //
    
    PortDCB.fNull = FALSE; //
    PortDCB.fRtsControl = RTS_CONTROL_ENABLE; //启用RTS线
    PortDCB.fAbortOnError = FALSE; //WINCE串行驱动程序的默认执行将忽略这个字段
    PortDCB.ByteSize = 8; //每字节的位数
    PortDCB.Parity = 0; //无奇偶校验
    PortDCB.StopBits = 0;//

当我把红外接收器插到PC的串口上时我写的应用程序可以正常接收字符,并且验证后是正确的。当我把用在au1200上时。能接收到字符。。。不过每次按键得到的结果都是不一样的。。。。。而且分析数据发现也不是我的红外遥控发过去的数据串。。请问我该注意些什么地方以找到问题呢?
谁来帮帮我。。。。
程序员中的李铁!
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-09-05 20:55
在CE上得先把串口设置成IR模式.
学海无涯
游客

返回顶部