帮忙在7188e3RS-232上调试一段程序 点击:722 | 回复:2



qxf

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 2回
  • 年度积分:0
  • 历史总积分:76
  • 注册:2007年4月27日
发表于:2007-05-12 09:17:00
楼主
void UserInit(void)
{//初始化串口速率
       InstallCom1(9600,8,0,1);
       InstallCom3(9600,8,0,1);

}

char dataCom1[30] ;
int index1 = 0 ;

char dataCom3[30] ;
int index3 = 0 ;

void UserLoopFun(void)
{
    /*
    VxComm.exe will call this function every scan time
    Please refer to XDemo11 for Real-time I/O control
    */    
int c ;

while ( IsCom(1) ) 
{

c = ReadCom(1);

if ( c == ''''\r'''' )

dataCom1[index1] = ''''\0'''' ;
index1 = 0 ;
printCom1 (dataCom1) ;
break ;

}

dataCom1[index1++] = c ;

 }

while ( IsCom(3) ) 
{

c = ReadCom(3);

if ( c == ''''\r'''' )

dataCom3[index3] = ''''\0'''' ;
index3 = 0 ;
printCom3 (dataCom3) ;
break ;

}

dataCom3[index3++] = c ;

 }


}
程序功能是读取1,3串口的数据以‘\r’结束,然后把数据去掉''\r''后,通过原端口发回去,
在运行程序时,无论计算机哪个串口跟7188的串口1连接,都能能接受发给串口1发送的数据,
但跟7188串口3连接的串口总是不能收到数据.
线我是连对的了,UserLoopFun(void)里面为相似两部分,我分别测试了com1的那部分和com3的那部分,com1那部分就可以,com3就不可以。我编写了一个程序能从com3口输出数据,
难道是com3的TXD3坏了吗



小欣

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 24回
  • 年度积分:0
  • 历史总积分:128
  • 注册:2007年5月12日
发表于:2007-05-12 17:21:00
1楼
budong

闪闪

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 90回
  • 年度积分:0
  • 历史总积分:206
  • 注册:2005年12月05日
发表于:2007-05-15 10:22:00
2楼
您说的“我编写了一个程序能从com3口输出数据”  是个什么样子的程序? 和上面的程序一样么? 
您不妨再编写一个输入输出都有的小程序 来测试下看看COM3口的好坏。 

热门招聘
相关主题

官方公众号

智造工程师