打印

PSoC USB模块问题求助

[复制链接]
795|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
PSoC8IIC8to8USB|  楼主 | 2020-2-27 13:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 PSoC8IIC8to8USB 于 2020-2-27 13:21 编辑

Hello Cypress PSoC Engineer:

我正在使用PSoC3,用到了USB的模块;我在使用的时候遇到了一个问题:
运行下面的语句是可以发送数据的:
        if(USBFS_GetEPState(TOUCH_ENDPOINT) == USBFS_IN_BUFFER_EMPTY)
    {
        /* Load endpoint with data after ACK has been received. */
        USBFS_LoadInEP(TOUCH_ENDPOINT, rdDat, sizeof(rdDat));
    }
我现在的应用场景是:
PSoC接受到一个外部请求之后,会对外部的数据做处理,处理完了之后在通过USB把数据发给主机端:因此上面的发送语句必须要放在数据处理之后,进行发送;如果系统没有收到外部请求,就不执行数据处理任务,也不会通过USB发送数据;
我现在遇到问题是:按照上面的流程,现在USB不能发送数据了。(不出问题的时候,不管外面有没有请求,不管数据正不正确,是一直发数据)
我不知道是什么原因导致的。
烦请指导。

我不确定我的问题描述清楚了没有,如果有不明白的,可以随时提问。

Br
零度


使用特权

评论回复
沙发
麻花油条| | 2024-1-12 10:15 | 只看该作者
您在描述的问题是一个典型的同步和异步问题。

使用特权

评论回复
板凳
麻花油条| | 2024-1-12 10:15 | 只看该作者
解决这个问题的一种方式是使用一个状态机来管理您的数据发送。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝