FT93x D2XX学习笔记 - 2. MCU端D2XX API说明

72 篇文章 36 订阅

共6个API函数,分别是:

1. D2XX_Init:

ED2XX_ErrorCode D2XX_Init(TD2XX_DeviceConfiguration *d2xxDeviceConfig, FD2XX_Callback callbackFn, void *ref)

          作用:初始化D2XX库。 

         参数说明

                  [in] d2xxDeviceConfig - 用于配置D2XX,Demo程序中将这部分配置放置在MCU内部Flash的固定位置,可以查看文件ft930_d2xx_default_config.inc,该配置可以通过PC烧录工具配置。这里先不需要修改,用默认的值。

                  [in] callbackFn - D2XX底层驱动回调函数,其原型如下:

                                  typedef void (*FD2XX_Callback)(ED2XX_EventCode  eventID, void *ref, void* param1, void* param2);

                  [in] ref - 回调函数的参数ref。

         返回值:

                  D2XX_ERR_NONE表示没有错误,D2XX_ERR_INVALID_PARAMETER 表示参数错误,一般是参数d2xxDeviceConfig有问题。

2. D2XX_Exit:

void D2XX_Exit(void)

          作用:退出D2XX模式。

3. D2XX_Read:

int32_t D2XX_Read(int32_t interfaceNum, uint8_t *readBuffer, const int32_t length)

          作用:读数据,读从USB传过来的数据。

          参数说明

          [in] interfaceNum - D2XX接口号,范围从1到n,其中n在文件ft930_d2xx_default_config.inc中有定义:

         

          对于FT93x来说,接口数最大为7.

           [in] readBuffer - 读入数据的buffer指针

           [in]length - 请求读入数据的长度,可以设置为最大的Transfer大小。同样在文件ft930_d2xx_default_config.inc中有定义,如上图中的MaxTransferSize的定义,分别定义了7个接口各自最大的Transfer大小。

          返回值:

          返回正数表示实际读到的数据长度。

          返回0表示D2XX的buffer是空的。

          返回负数表示错误,其中D2XX_ERR_INVALID_PARAMETER表示参数错误,D2XX_ERR_IO表示通信失败,D2XX_ERR_DEVICE表示D2XX设备没有处理请求。

4. D2XX_Write:

int32_t D2XX_Write(int32_t interfaceNum, uint8_t *writeBuffer, const int32_t length)

          作用:写数据,发送数据给USB

          参数说明

          与D2XX_Read类似

          返回值:

          返回0表示D2XX的buffer满了。其他与D2XX_Read类似。

5. D2XX_IOCTL:

ED2XX_ErrorCode D2XX_IOCTL(int32_t interfaceNum, int ioctlID, void *param1, void *param2)

          作用:该API是处理D2xx除读写外的控制命令。

          参数说明

          [in] interfaceNum - 含义与D2XX_Read相同

          [in] ioctlID - 命令类型,目前只定义了2个,D2XX_IOCTL_SYS_REMOTE_WAKEUP和D2XX_IOCTL_INTERFACE_WAKEUP。

          [in] param1 - 命令的参数,其中1表示唤醒,0表示清楚唤醒

          [in] param2 - 当前未使用

          返回值:

          D2XX_ERR_NONE:成功

          D2XX_ERR_INVALID_PARAMETER:参数错误

          D2XX_ERR_DEVICE:D2XX未响应命令

          D2XX_ERR_NOT_SUPPORTED:未知的IOCTL命令

6. D2XX_Timer

          作用:D2XX定时器函数,需要放在定时器中断中。

在初始化D2xx后需要指定一个分频系数为1000的定时器,然后把这个API函数放在定时器中断中。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值