完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在 Linux 系统上使用 cyusb_linux_1.0.5,并希望实现向设备发送和从设备接收数据的功能。 在将特定的固件映像导入 RAM 后,我使用 cyusb_bulk_transfer 函数如下:
cyusb_handle *h1 = NULL; 无符号 字符 buf [ 8 ]; buf [ 0 ] = 0x01 ; buf [ 1 ] = 0 x00 ; buf [ 2 ] = 0x07 ; buf [ 3 ] = 0x01 ; buf [ 4 ] = 0 x00 ; buf [ 5 ] = 0 x00 ; buf [ 6 ] = 0 x13 ; buf [ 7 ] = 0x01 ; 已传输的 整 数 = 512; 整数 超时 = 0; 无符号 字符 数据[1024]; int o; 整数 i; int t ransfered 2 = 5 12 ; printf (" ------------cyusb_bulk_ transfer out—n); " o = cyusb_bulk_transfer(h1、0x0 1、buf、sizeof( buf)、已转移、1000); printf ( 发送到设备的"字节 = %d n "; ,已传输 ); 如果 (o == 0 ) { printf (" ok n "; ); printf (" %s n "; ,buf); //返回 0; } 其他 { printf(" 传输失败! n "; ); //返回 0; } printf (" ------------cyusb_bulk_transfer in--------------- n); "; i = cyusb_bulk_tr ansfer (h1、0x8 1、数据、sizeof(数据)、 transfered2、1000); printf ( 从设备读取的"字节 = %d n "; ,tr ansfered2); 如果 (i == 0 ) { printf (" ok n "; ); printf (" %s n "; , 数据); //返回 0; } 其他 { printf(" 传输失败! n "; ); printf (" %d n "; , i ); printf (" %s n "; , 数据); //返回 0; } 结果如下: ----------cyusb_bulk_transfer out------------------发送到设备的字节 = 8 ok ----------cyusb_bulk_transfer in------------从设备读取的字节 = 0 传输失败! -7 我已成功将数据发送到 FPGA,但我 CAN无法通过 FX3 读取 FPGA 上的数据。 顺便说一句,设备功能:向设备发送任何命令都不会返回值,但是开机后 FPGA 会自动生成我需要的信息,而且它会一直存在! 为什么 CAN不通过函数读取这些数据cyusb_bulk_transfer?等待一些建议。 |
|
相关推荐
1个回答
|
|
如果在Linux系统上使用cyusb_linux_1.0.5时,CAN无法通过FX3读取FPGA上的数据,可以尝试以下解决方法:
1. 首先,确保你的硬件连接正确,包括正确连接CAN总线和FPGA设备。 2. 确保你的固件正确加载到FX3设备的RAM中。可以通过检查cyusb_load_firmware函数的返回值来确认固件是否成功加载。 3. 确保你的CAN总线配置正确,包括波特率、帧格式等参数设置。可以使用cyusb_control_transfer函数发送适当的控制命令来配置CAN总线。 4. 在使用cyusb_bulk_transfer函数进行数据传输之前,确保你正确地打开了cyusb设备。可以使用cyusb_open函数打开设备,并检查返回值以确保设备成功打开。 5. 确保你正确的设置了传输的数据缓冲区。在你的代码中,你可以确保buf数组中包含了要发送/接收的数据。 6. 检查cyusb_bulk_transfer函数的返回值,以确定传输是否成功。如果函数返回负值,则表示传输失败,可以通过调用cyusb_get_error_string函数获取错误的详细描述。 7. 如果上述方法都没有解决问题,你可以尝试使用其它方法进行数据传输,如使用cyusb_bulk_transfer函数进行批量传输,或者使用cyusb_control_transfer函数进行控制传输。 综上所述,解决CAN无法通过FX3读取FPGA上的数据的问题需要逐步排查。通过检查硬件连接、固件加载、CAN总线配置、设备打开、数据缓冲区设置以及传输结果等方面,可以找到并解决问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
1663个成员聚集在这个小组
加入小组4077 浏览 0 评论
8730 浏览 0 评论
6039 浏览 0 评论
4279 浏览 1 评论
5300 浏览 0 评论
请问一下qspi mtsr引脚传输一次32bit后引脚不拉低怎么解决?
478浏览 2评论
740浏览 2评论
4996浏览 2评论
最近UJA1023开发遇到问题了,各位大神有谁知道可以替代这颗芯片的
654浏览 1评论
924浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-9 04:58 , Processed in 0.569576 second(s), Total 44, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号