在做一个打印程序 通过WINIO控制通讯。但是传输速率很慢请达人帮忙啊!传输的是我把要传输的数据放在队列中。 然后在一个子线程读取队列数据并用个死循环查询并口状态开始传输的 下面是发数据代码,帮忙看看为什么传输速率会很慢呢!不知道是哪出的问题。
private bool SetSingleByteToParallel(Byte single)
        { 
            Byte portValue = 0;
            int previousDate = 0, laterDate = 0;
            previousDate = System.DateTime.Now.Minute * 60 + System.DateTime.Now.Second;
            while (true)
            {
                laterDate = System.DateTime.Now.Minute * 60 + System.DateTime.Now.Second;
                if (laterDate - previousDate <= 1)
                {
                    GetPortVal(889, ref portValue, 1); //读状态寄存器
                    
                    portValue &= 128;
                    if (portValue == 128) //判断是否为忙,BUSY=80H时,为不忙;BUSY=00H时,为忙。
                    {
                        if (single.ToString("X2") == "0C")
                            Evolpefront.OutQueue();
                        label.SetText(single.ToString("X2"));
                        SetPortVal(888, single, 1); //写数据寄存器
                        GetPortVal(890, ref portValue, 1); //读控制寄存器,让nstrobe为低电平
                        portValue ^= 1;
                        SetPortVal(890, portValue, 1);
                        portValue &= 254;
                        SetPortVal(890, portValue, 1); //写控制寄存器,让nstrobe为高电平
                        return true;
                    }
                }
                else
                {
                    return false;
                }
            }