打印
[其它产品/技术]

自己写的程序不起作用,从以下几方面排查试试?

[复制链接]
119|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
初级工程渣|  楼主 | 2023-12-29 01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果您正在使用EZ-USB FX2 CY7C68013A进行USB 2.0开发,上位机是MFC程序,使用BeginDataXfer、WaitForXfer、FinishDataXfer向下位机发送2字节数据,但是FinishDataXfer返回false。

您已经通过CyConsole成功发送数据,但是自己写的程序就是不起作用。

有几个可能的原因可能导致FinishDataXfer返回false,以下是一些建议的排查步骤:

  • 错误处理: 确保您的代码中包含错误处理,以便能够捕获底层库函数的错误信息。检查FinishDataXfer返回false时的错误信息,这可能提供关于问题的更多信息。
    [backcolor=rgba(0,0,0,var(--tw-bg-opacity))][color=rgba(217,217,227,var(--tw-text-opacity))][backcolor=rgba(52,53,65,var(--tw-bg-opacity))][size=0.75]cppCopy code
    if (!FinishDataXfer(buffer, size, &transferSize, transferIndex)){    [color=rgba(255, 255, 255, 0.5)]// 处理错误    int error = GetLastError();    [color=rgba(255, 255, 255, 0.5)]// 输出错误信息或记录日志}

  • 缓冲区大小: 确保您为FinishDataXfer提供的缓冲区大小正确。如果缓冲区太小,可能会导致传输失败。
  • 超时设置: 检查是否设置了适当的超时值。有时,超时值可能需要根据通信环境进行调整。
  • 线程同步: 确保您的USB通信代码在多线程环境中是线程安全的。如果涉及到多个线程访问相同的USB资源,确保适当的线程同步机制。
  • 驱动问题: 确保您的USB驱动程序已正确安装并且与您的应用程序兼容。某些情况下,驱动问题可能导致通信失败。
  • 权限问题: 确保您的应用程序有足够的权限访问USB设备。在某些操作系统中,权限问题可能导致USB通信失败。
  • USB设备状态: 检查USB设备的状态,确保它处于正常工作状态。您可以使用设备管理器或其他工具来验证设备是否正确连接和识别。
  • MFC程序问题: 考虑是否MFC程序中的其他代码可能影响USB通信。确保MFC程序没有对USB通信进行冲突的设置或干扰。
  • 日志调试: 在关键的部分添加日志输出,以便在运行时检查执行流程。这有助于追踪代码执行的情况,找出问题所在。
  • 固件问题: 最后,确保您的下位机固件正确处理接收到的数据。如果CyConsole可以成功发送数据,但您的程序不行,问题可能出在下位机固件的处理上。

在排查问题时,逐步调试,并根据错误信息或日志的反馈来进一步定位问题所在


使用特权

评论回复
沙发
ex7s4| | 2023-12-29 16:51 | 只看该作者
得仿真,看程序咋运行的

使用特权

评论回复
板凳
g0d5xs| | 2023-12-29 17:52 | 只看该作者
一般有可能是链接失败,也可能是程序逻辑不对

使用特权

评论回复
地板
y1n9an| | 2023-12-29 18:58 | 只看该作者
之前遇到过,执行就报错,就是配置这块没弄对

使用特权

评论回复
5
tax2r6c| | 2023-12-29 20:01 | 只看该作者
USB的话,可能是标识符之类的配置不对,也会错误

使用特权

评论回复
6
su1yirg| | 2023-12-29 21:17 | 只看该作者
我觉得这种USB开发一般不会出现错误吧,除非协议不对

使用特权

评论回复
7
kaif2n9j| | 2023-12-29 22:09 | 只看该作者
你这返回错误容易是超时导致的

使用特权

评论回复
8
zhizia4f| | 2023-12-29 23:04 | 只看该作者
对的,缓冲区配置大小不合理也容易出问题

使用特权

评论回复
9
lamanius| | 2023-12-30 07:08 | 只看该作者
权限的话不会影响USB的,你说的是配置成linux的吧

使用特权

评论回复
10
suw12q| | 2023-12-30 09:10 | 只看该作者
一般USB不起作用可能初始化,也可能协议没对上,通信不对

使用特权

评论回复
11
lix1yr| | 2023-12-30 11:38 | 只看该作者
不如用USB的抓包工具试试,也许是OK的

使用特权

评论回复
12
jcky001| | 2024-1-3 09:25 | 只看该作者
你这标题的问号有点多余

使用特权

评论回复
13
jcky001| | 2024-1-3 09:26 | 只看该作者
这种问题首先应该检查一下代码是否有语法方面的错误

使用特权

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

本版积分规则

47

主题

516

帖子

0

粉丝