USB转串口 CP2102使用问题
CP2102这款USB转串口芯片大家用过吗?官网上提供了wince6.0下的虚拟串口驱动VCP_WinCE60,小弟在wince下也装了这个驱动了,虚拟到串口COM4,虚拟也成功了,可以打开串口4,然后里面有个测试程序CP210xSerialTest.exe,这个使用的是回环模式( loopback mode),我Master,Slave串口使用的就都是串口4,但提示的一直是:Error in data on Master to Slave transfer,请问这是什么原因?
[解决办法]
我们的GPS产品也有USB转RS232的功能,我们使用的转换器是ATC-810,
硬件连接:
ATC-810一端借WINCE设备的USB Host,另一端借PC机器的串口端。
测试:
在WINCE设备上打开串口工具,PC端打开超级终端或其他串口工具,然后在WINCE端的串口工具输入,则PC端的串口工具同时显示我输入的;同样,在PC端的串口输入,在WINCE端的串口工具同时显示PC端输入的。
[解决办法]
该回复于2010-08-13 16:40:07被版主删除
[解决办法]
Error in data on Master to Slave transfer
只有这一句大家很难判断。最好多提供些信息。
[解决办法]
谢谢大家回复
我们准备实现的功能是把一个射频设备(RFID)移植到wince设备下使用,通过CP2102 USB转串口将wince设备和RFID连接,RFID设备上已经集成了CP2102 芯片
TO kacyquan兄弟
下面我把部分代码贴出来
if (WriteFile(hMaster, sampleMasterData, 64, &bytesWritten, NULL))
{
if (ReadFile(hSlave, sampleSlaveData, 64, &bytesRead, NULL))
{
transferSuccess = true;
for (int i = 0; i < 64; i++)
if (sampleMasterData[i] != sampleSlaveData[i]) transferSuccess = false;
if (transferSuccess)
{
for (int i = 0; i < 64; i++)
{
sampleMasterData[i] = 0;
sampleSlaveData[i] = i;
}
if (WriteFile(hMaster, sampleMasterData, 64, &bytesWritten, NULL))
{
if (ReadFile(hSlave, sampleSlaveData, 64, &bytesRead, NULL))
{
transferSuccess = true;
for (int i = 0; i < 64; i++)
if (sampleMasterData[i] != sampleSlaveData[i]) transferSuccess = false;
if (transferSuccess)
_tprintf(_T("Test Successful!"));
else
_tprintf(_T("Error in data on Slave to Master transfer"));
}
else
_tprintf(_T("Error reading data from Master COM port"));
}
else
_tprintf(_T("Error writing data to Slave COM port"));
}
else
_tprintf(_T("Error in data on Master to Slave transfer"));
}
else
_tprintf(_T("Error reading data from Slave COM port"));
}
else
_tprintf(_T("Error writing data to Master COM port"));