完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1。cyu3pi2creceiveBytes 函数调用无法正常工作。
2。使用相同的开发板和函数,在应用 cdc 接口之前看到 i2c 读取操作在代码中表现良好,我怀疑当前版本的代码存在问题。 我正在尝试通过 FX3 UVC + CDC 接口组合中的 COM 端口发送串行数据,并使用该串行数据执行 i2c 通信。 例如,如果我想在从站地址为 0x18 的设备的寄存器地址 0x0001 中写入值 0x0003,我会通过串行通信发送五个字节的 [0x18、0x00、0x00、0x01、0x00、0x03],然后我将这五个字节作为 SensorRead 函数的一个因子发送,然后我配置前导码。 在以前不使用 CDC 的配置中,i2c 功能和主板运行正常,但是通过应用 CDC 修改的代码无法正常执行 i2c 读取操作。 为了读取 i2c,我发送了相应的串行数据(Python),甚至检查了是否向 fx3 中的函数传输了正确的值。 但以下是串行日志。 必须从 0x01 的地址中读取 0x0001,但会返回 0xFFFF 的值。 它还会重复 ApiretStatus 值 0 和 1。 导致这种现象的原因有哪些? 附上了 uvc.c 代码。 |
|
相关推荐
1个回答
|
|
原因可能有几种:
1. 函数参数错误:检查函数参数是否正确传递。确保传递的参数包括正确的I2C从设备地址、寄存器地址和接收字节数。 2. I2C初始化问题:如果I2C接口没有正确初始化,那么函数调用可能无法正常工作。确保在调用cyu3pi2creceiveBytes函数之前已正确初始化I2C接口。 3. I2C通信问题:可能存在I2C通信问题,如信号线连接不良、时钟速率设置错误或I2C总线上其他设备干扰。可以通过在调用cyu3pi2creceiveBytes函数之前进行一些简单的I2C读取测试来诊断这些问题。 4. 错误处理问题:确保函数在出现错误时进行适当的错误处理。可以查看函数的返回值以判断函数是否成功执行。如果函数返回错误代码,则可能需要进一步分析错误原因。 建议逐步排查问题,逐步检查和调试相关代码,以确定导致函数调用无法正常工作的具体原因。可以使用调试器或添加一些调试信息来帮助确定问题所在。 |
|
|
|
只有小组成员才能发言,加入小组>>
4024 浏览 0 评论
8606 浏览 0 评论
5997 浏览 0 评论
4165 浏览 1 评论
5229 浏览 0 评论
请问一下qspi mtsr引脚传输一次32bit后引脚不拉低怎么解决?
441浏览 2评论
694浏览 2评论
4929浏览 2评论
最近UJA1023开发遇到问题了,各位大神有谁知道可以替代这颗芯片的
618浏览 1评论
856浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 09:31 , Processed in 0.697398 second(s), Total 83, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号