Cyusb3014应用笔记4 FX3固件 的常用API

本文介绍了CypressFX3固件中几个关键API,包括错误处理函数CyFxAppErrorHandler,用于复位的CyU3PDeviceReset,以及串口调试和I2C初始化方法。这些API有助于开发者更有效地处理错误和设备通信。
摘要由CSDN通过智能技术生成

这里总结一些个人认为比较有用的API 

1 CyFxAppErrorHandler 错误处理

固件中遇到错误可以调用这个函数,这个函数是固件DEMO中的,不是官方库

在这个函数中可以增加一些错误处理,比如点灯,比如复位等


void
CyFxAppErrorHandler (
        CyU3PReturnStatus_t apiRetStatus    /* API return status */
        )
{
 /* Application failed with the error code apiRetStatus */
 /* Add custom debug or recovery actions here */
CyU3PDebugPrint("Failed to create thread! \n", ); // 打印错误信息
CyU3PGpioSetValue(59, CyTrue); //点灯指示错误
CyU3PThreadSleep(1000); // 等待一段时间观察错误指示灯
CyU3PFreeHeaps();// 释放资源或进行清理工作
CyU3PDeviceReset(CyFalse); //最终,如果无法恢复,可以执行软件重启
    /* Loop Indefinitely */
    for (;;)
    {
        /* Thread sleep : 100 ms */
        CyU3PThreadSleep (100);
    }
}

2 CyU3PDeviceReset 复位

CyU3PDeviceReset (
        CyBool_t isWarmReset            /**< Whether this should be a warm reset or a cold reset. */
        );

官方库函数 ,true 是 软复位,不会重新加载FX3 固件;false 会重新加载FX3固件。

3 CyFxApplnDebugInit 串口调试

输出打印函数,demo中的函数,可以根据自己需要修改。

串口初始化流程

1 CyU3PUartInit 初始化UART

2 CyU3PMemSet 复位内存

3 CyU3PUartSetConfig 设置串口的配置

以下步骤在使用uart debug的时候执行,否则不执行

4 CyU3PUartTxSetBlockXfer 设置发送大小

5 CyU3PDebugInit 初始化debug模式

4 CyFxBulkSrcSinkApplnI2CInit 初始化I2C

流程

1 CyU3PI2cInit 

2  CyU3PMemSet 

3 CyU3PI2cSetConfig

5  CyU3PPibRegisterCallback(gpif_error_cb,0xffff)

  callback to see if there is any overflow of data on the GPIF II side

6 CyU3PUsbRegisterSetupCallback(CyFxSlFifoApplnUSBSetupCB, CyTrue);

注册用户回调函数CyFxSlFifoApplnUSBSetupCB,用于处理类/供应商请求。

CyFxSlFifoApplnUSBSetupCB 这个函数就是处理用户的事件请求的,比如用户的一些指令参数可以放到这个函数中。

CyTrue表示启用USB fast enumeration。这样,USB设备的配置和枚举过程就会由FX3库自动处理,应用程序只需要处理类/供应商请求。

Fast enumeration mode是一种USB设备工作模式,其中USB设备的配置和枚举过程完全由USB设备的固件库(如Cypress FX3固件库)处理。在fast enumeration模式下,设备的USB连接设置是由固件库自动处理的,而应用程序只需要处理类/供应商请求,这样可以简化应用程序的开发流程并加快USB连接的建立速度

带补充......

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值