1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
对于那些使用中断来处理I2C动态位爆炸驱动程序的人来说,这只是个好消息(我发现我需要使用位爆炸驱动程序,因为PIC32MZ0512efe064的转速A3现在需要位爆炸实现)。文件drv_i2c_bb.c,它花了我大约10小时来跟踪和解决(我想我今天可能已经获得了一些免费样本:)。1)最重要的防止多于一个的WriteRead(因为队列In已填充):i2c驱动程序在事务完成后永远不会重置i2cState,因此,我认为,用户需要在情况I2C_SDA_HIGH_STOP_CHECK(大约行836)之后添加类似下面的行I2Cynull状态;为另一个写读重置I2C状态…如果(_DRV_I2C_IsQueueEmpty(dObj)==true){PLIB_TMR_Stop(dObj->tmrSource);//stop并清除定时器PLIB_TMR_.16BitClear(dObj->tmrSource);Nop();i2cState=I2C_NULL_STATE;//用户必须在成功事务之后添加-以重置i2cState}...和2)行744,我不希望i2c从地址,作为多字节读取中的第一个字节[0]返回,而硬件不发送该字节,因此为了排除返回给用户的从地址字节,返回读取字符串中的从地址字节在下面的行中更改>0到>1:if((lBufferObj->.==DRV_I2C_OP_READ)&&a mp;(lBufferObj->.ltransfers.>1)*lBufferObj->rxBuffer++=I2CReadData;3)可能由我自己的配置(3 I2C驱动程序I2C3、1和5)导致的另一个小的第三个错误是用户需要添加:._MODE_IDX2 DRV_I2C_MODE_MASTERdefine DRV_SCL_PORT_IDX2 PORT_CHANNEL_Fdefine DRV_SCL_PIN_POSI._IDX2 PORTS_BIT_POS_5define DRV_SDA_PORT_IDX2 PORT_CHANNEL_Fdefine DRV_SDA_PIN_POSIX2 PORTS_BIT_PORTS_4_4
|
|
相关推荐
2个回答
|
|
对于使用3位I2C模块运行3个I2C从设备的人来说,使用Bang-Bang-Ongor驱动程序的另一个问题是,我发现绝对需要分别读取每个从-所以,例如,我的读定时器是每10ms,使用100KHz,每个加速度计I2C读取14。TES在2ms以下,所以我需要一个:DelayMs(2);在3次调用DRVIII2CyRealSuffEnter()之后,使用上面的三个修正,和这个2毫秒延迟-我所有的3个模块与BIT BAR驱动程序一起工作至少10-20秒-我还没有测试更长的周期。
|
|
|
|
另外,根据上述变化,使用100khz每10ms从3个I2C加速度计(I2C模块1、3和5)获得14字节,使用Harmony 2.01b位爆炸码,在PIC32MZ0512EFE064 revA1和revA3上的每个读数之间暂停2ms,是稳定的——在连续5分钟之后,停止测试S样品。
|
|
|
|
只有小组成员才能发言,加入小组>>
5238 浏览 9 评论
2027 浏览 8 评论
1950 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3202 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2253 浏览 5 评论
772浏览 1评论
663浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
590浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
672浏览 0评论
572浏览 0评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 13:12 , Processed in 1.350655 second(s), Total 81, Slave 63 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号