完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有一个I2C从机和一个I2C主例示在CY8C42处理器上。我的SDA / SCL引脚绑在一起,一个2200欧姆上拉到3.3V。
正在使用的引脚是P3.0 P4.0和P3.1-P4.1。我已经设置了一个地址为0x58的奴隶,并在发送开始命令中使用相同的地址,我可以直观地看到地址退出,但从属者不承认传输。 代码片段如下: 从属初始化: //初始化TX /RX缓冲区I2CSLaveIII2CSLaveInRead Buff(AxxBuffer-Max xMtxBuffelyStand);I2CSLaveIII2CSLaveInWruteWEBF(ANRXBuffer-Max RcVvBuffrySmithSead); //初始化SBCJI2C I2CSLaveEx启动();/ /设置中断处理程序I2CSLaveIsStutoCuffStutsTracle(LoalIrqHANDER);/ /强制一个地址(仅在情况下添加)I2CSLaveII2CSLaveSeTeLoT(0x58); //启用中断I2CSLaveE.StSavaVeEclipse模式(I2CSLaveIII2CYARBASHEDY I2CSLaveIn SyraveIII2CYNACEY I2CSLaveIn SyavaveI2CasACK I2CSLaveIn SnSavaveI2CX写入停止)I2CSLaveIn SysLaveEi I2CXSTART I2CSLaveIn SysLaveII2CyAdRrad匹配I2CSLaveIn SysLaveII2CuBuxError; //启用内嵌的I2CSLaveEnabLeIt(); 主初始化和传输: //启动I2C I2CdMista启动();//只调试USTAti= I2CMASTORI2CMASTRACKSTATUS();USTATE= I2CMASTORI2CMASTESTESTART(0x58,I2CMASTIO2I2CX WRADION模式);IF(USTATE= = I2CMASTORI2CYMSTRYNNORY错误){//现在发送字节uStaseI2CMASTORI2CMASTRESTELTEWEDILL字节(0X)如果(uSTAT= = I2CMASTORI2CYMSTRYNNORION){} 发送启动的第一个可用状态返回0x002。 任何想法都是可以理解的。 |
|
相关推荐
14个回答
|
|
我不能推断出你到底在做什么,什么不能像预期的那样工作。你能张贴一个完整的项目,让我们都可以看看你的所有设置。要做到这一点,使用C造饰者和GT;文件-GT;创建工作区束(最小)并附加结果文件。
也不会太坏,当你在一个新的标题的PSoC4论坛中启动一个新的线程。更多论坛成员将对此进行研究。 鲍勃 |
|
|
|
Paddy,你认为什么原因可能是启动失败的原因(除了坏的触发器)?
我不知道,我没有水晶球。它可以按照你的建议,也可以是微处理器周围的硬件问题,这是被忽视的。 编辑:(抱歉,我没有看到线程已经在第2页上继续) |
|
|
|
欢迎来到论坛!
能否请您发布您的完整项目,以便我们都可以查看您的所有设置。要做到这一点,使用C造饰者和GT;文件-GT;创建工作区束(最小)并附加结果文件。 附加问题:你用什么牌子的?自制的?柏树套装?哪一个???? 鲍勃 |
|
|
|
|
|
|
|
|
|
|
|
|
|
作为一个通用的GPIO引脚,它可以拉动2200电阻器接地。
|
|
|
|
是的,当然,但是我想说的是:P3L1是否有缺陷,并且不再能够按要求工作,或者在相同的环境下脚趾正常地动作?制定一个新的项目,将引脚设置为“开漏,驱动低”,用PWM切换引脚,看看水平是否正确。使用与以前一样的板与您的电阻器应用。
鲍勃 |
|
|
|
好好看看你的示波器图。在开始I2C通信之前,SDA和SCL必须是高的。启动条件意味着SDA低,而SCL保持高。我在你的图表中没有看到。
http://nl,维基百科.org/wiki /i%c2%B2C总线 |
|
|
|
|
|
|
|
开始并没有丢失,只是它被触发的方式。
|
|
|
|
我用另一个从设备验证了在设计中实例化的主机的操作。我还用外部主机测试了实例化的奴隶。问题仍然在于奴隶不承认它的地址。该销在设置为通用销时可被拉低。
|
|
|
|
我只有一个CY8CKIT-044 PSOC-4-M先锋套件。
附属工程项目,外部连接P4Y0<-gt;P3O0和P4Y1和lt;-gt;P3Y1 J3 10 J4 1 J3 9 J4 2 鲍勃 I2C回环 24.3 K |
|
|
|
谢谢,我去工作了,我在顶头上发现了一个弯曲的插针,上面有插头。
我还有一个问题,根据文档,我可以编写自定义中断处理程序,处理我感兴趣的中断,然后正常中断处理程序也处理它,例如缓冲区命令。我只想知道什么时候收到了一个完整的缓冲区。如果我使用轮询方法,我将消息传递到缓冲区,一切都正常。 但是,如果我使用中断方法,我就完成了中断,但是,缓冲区中没有数据。 |
|
|
|
只有小组成员才能发言,加入小组>>
752个成员聚集在这个小组
加入小组2071 浏览 1 评论
1827 浏览 1 评论
3640 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1761 浏览 6 评论
1513 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
511浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
361浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
410浏览 2评论
357浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
858浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 13:07 , Processed in 1.305298 second(s), Total 105, Slave 88 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号