时序控制要求你的计算机采集速度要比较快,一般的并口采集串行信号的程序大致如下:
int Signal=0;
int Value;
while (i<ReadBytes)
{
if (Signal==1) // 时钟脉冲到达
{
Signal=0; //复位状态,等待下一个时钟脉冲
ReadBits();
i++; //读取了一位
}
else
{
Value=ReadPort(XXX); //读并口
if (Value & 0x20) //假定第五位为时钟信号或者 (Value ^ 0x20)时钟信号变化?
{
Signal=1; // 时钟信号变化后,可以读取数据了,你应该在上升沿时准备好数据
}
}
}
这种采集方式无法判断一些特殊错误,因为你在计算机上编制的程序没有严格的时序控制
因此你无法切确知道是否产生某个字节是否少了几位或产生信号歧变等错误,但如果你的
线路很稳定或数据定时发送,中间丢了一些数据也没有关系的话用并口采集数据是可以的
但如果要求数据传送可靠性很高,那只能自己设计一个接口电路,用8031等单片机来接收
串行信号,然后通过这个接口电路和计算通讯,但这样做会增加设计成本和增加设计难度