|
Кто работал: каких скоростей можно достичь при вводе/выводе?
У меня пример на С:
1 Вариант 1
const UINT FT245_TXBUF_SIZE = 128;
const UINT CYCLE_LENGTH = 1000000;
int main(int argc, char **argv)
{
int i;
FT_STATUS ftStatus = FT_OK;
DWORD BytesWritten;
int Byte2Send=0;
OpenDeviceUsb(&ftHandle);
ftStatus = FT_Open(0,&ftHandle);
FT_SetBitMode(ftHandle,0xff, 1);
for (i=0;i Если же пишу блоками: for (int j=0;j for (i=0;i То изменения сигналов на шине 245 выглядят еще интереснее: Как это можно объяснить?
E-mail:
info@telesys.ru
Byte2Send = (Byte2Send ? 0x0 : 0xff);
ftStatus = FT_Write(ftHandle,&Byte2Send,1,&BytesWritten);
}
FT_Close(ftHandle); // close EchoUsb device
return 0;
}
При запуске вижу на выводах 245го сигналы переключаются через 1мс, т.е. тормозит по-страшному!
int main(int argc, char **argv)
{
int i;
FT_STATUS ftStatus = FT_OK;
DWORD BytesWritten;
int Buffer2Send[FT245_TXBUF_SIZE];
ftStatus = FT_Open(0,&ftHandle);
FT_SetBitMode(ftHandle,0xd0, 1);
for (int j=0;j
}
FT_Close(ftHandle); // close EchoUsb device
return 0;
}
2 пачки по 16 импульсов, между импульсами в пачке 1 мкс, т.е. как-бы "выплевываются" 32 байта с указанной скоростью. От старта одной пачки до старта следующей 57 мкс, а между блоками, состоящими из этих 2х пачек - то 2, то 4 мс!
Ответы