gpt4 book ai didi

c - FTDI。需要了解有关 FT_Write() 函数的更多详细信息

转载 作者:可可西里 更新时间:2023-11-01 10:02:33 24 4
gpt4 key购买 nike

关于 FT_Write() 的问题功能。

FT_STATUS FT_Write (FT_HANDLE ftHandle, LPVOID lpBuffer, DWORD dwBytesToWrite, LPDWORD lpdwBytesWritten)

我想知道 lpdwBytesWritten .

它什么时候回来*lpdwBytesWritten < dwBytesToWrite ?会 FT_Write返回 FT_OK 以外的其他在那种情况下?

一次调用 FT_Write 可以发送多少数据? ? dwBytesToWrite 有什么限制?参数?

我一直没能找到这些问题的答案。已阅读 FTDI Knowledgebase也在D2XX Programmer's Guide .

最佳答案

FT_Write 在“严重”错误时返回 FT_OK 以外的状态。

此函数(以及 FT_Read)可能会返回 FT_OK 并在 *lpdwBytesWritten 中放入 0 中的任意数字> (超时)到 dwBytesToWrite(传输完成)。

中间值表示尚未传输所有数据,但可以继续传输过程。

传输循环可能是这样的:

BYTE *buf = pointer_to_data;
DWORD len = length_of_data;

FT_STATUS status;
DWORD written;

for (;;) {
status = FT_Write(handle, buf, len, &written);
if (status != FT_OK)
return status;
if (written == 0)
return -1; // or FT_OTHER_ERROR if no special timeout handling required
if (written == len)
return FT_OK;
len -= written;
buf += written;
}

另见 Example 3, FT2232C Test Application (文件 t_titan.cpp,第 289 行的函数 DoRxTest)

关于c - FTDI。需要了解有关 FT_Write() 函数的更多详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53197582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com