发表于: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坏了吗