完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
我用I2C块读取一个字节在一个无限循环中的从属设备寄存器值。我使用的逻辑是: I2C*START(); I2C.MistCurrStaseSube(); I2CyMasksEngStEnter(设备地址,0x00); I2C.MigWrimeWrimeEnter(地址); I2C.MaskestEntRead(设备地址,0xFF); RDYBuff==I2C*MaultRead字节(0); I2CyMasksEdStestStor(); I2C~(); 我在RDI Buffi中获得了注册值。这工作时间很长,但逻辑在某个地方挂起,而我的代码没有进一步运行。原因何在?我使用调试器检查代码停止的位置。我发现,当师父正在产生重启时,我会因为等待而陷入困境。 请建议。 |
|
相关推荐
3个回答
|
|
我无法从您的代码中看到0x00在I2C.MeaveStEngESTRT(设备地址,0x00)中的含义,请使用所提供的γ定义。当使用不同的PSoC家庭时,它们是不同的。
同样适用于I2C.MaskestEntRead(设备地址,0xFF)和0xFF。 最后,I2C的标准是:I2C的最后一个字节应该是赤裸裸的。I2C*MaultRead字节(0)中的(0)是ACK还是NACK? 鲍勃 |
|
|
|
我像这样修改了我的代码
I2C*START(); I2C.MistCurrStaseSube(); I2C.MaskestEngEngt(0x18,I2CX Wrad EX-Felx模式); I2C.MigWrimeWrimeEnter(地址); I2C.MasksEntRead重新启动(0x18,I2Ca Read xFelx模式); //StistFixStase= I2C.MasksEngESTEnter(0x181); RDYBuff= I2C*MaultRead字节(I2CnNakl DATA); I2CyMasksEdStestStor(); I2C.MistCurrStaseSube(); I2C~(); 我发现,在I2C3Mealth.C中提到函数的副作用是I2C*MaultRead字节。 在I2CYCSR寄存器中写入没有输入“字节完成”位的函数。它不会退出,直到它将被设置。因此,I2C*MaultRead Byter()不能不作为寄存器NIT退出吗? |
|
|
|
离开Mist5CurrStaseUs()。
每个调用返回一个状态(除了Read Byter()之外)。第一个状态!=0表示一个错误,有定义说明原因。因此,调试时检查返回的值。 I2CYSTATE会杀死任何正在进行的传输,不使用它,在初始化时只调用Stand()一次,并保持接口运行。 鲍勃 |
|
|
|
只有小组成员才能发言,加入小组>>
756个成员聚集在这个小组
加入小组2129 浏览 1 评论
1871 浏览 1 评论
3687 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1806 浏览 6 评论
1552 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
622浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
460浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
455浏览 2评论
408浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
1099浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-23 13:07 , Processed in 0.784364 second(s), Total 48, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号