完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我目前要实现的是每2。6MS通过I2C读一次传感器,同时捕获50HZPWM高电平宽度。
软I2C每2。6MS就‘读一次传感器,采集数据,而外部的PWM是50HZ,20MS,高电平宽度在900US-2000US之间,如果只是捕获PWM或是读I2C都正常。 我目前的做法是,在读I2C之间,将EXti的中断禁止: EXTI_InitStructure.EXTI_LineCmd = DISABLE; EXTI_Init(&EXTI_InitStructure); 在读完后再打开EXTI的中断EXTI_InitStructure.EXTI_LineCmd = ENABLE;EXTI_Init(&EXTI_InitStructure); 这样做PWM捕获的高电平会有溢出。 |
|
相关推荐
2个回答
|
|
后来考虚到可能是在读I2C的时候,这时正好有电平变化,本该触发中断,但是由于被我禁止了,等我读后I2C后,打开中断,等到下一个周期的中断触发时,正好差一个周期,我对这个也进行了扣除一个周期的做好来解决。但是还会溢出,不过奇怪的是。比如正常值是1500US,每隔一段时间就会溢出,显示的值是1350US,几乎都比正确值少150US。
|
|
|
|
你的2·6ms读取一次iic太频繁了吧?
|
|
|
|
只有小组成员才能发言,加入小组>>
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
424 浏览 1 评论
278 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
247 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
611 浏览 2 评论
634 浏览 2 评论
1363浏览 9评论
37浏览 3评论
STM32CUBEMX4.22.1在main函数里面添加一行语句就死机的原因?
47浏览 3评论
41浏览 3评论
KEIL MDK为什么无法debug library中的代码?
80浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-27 13:04 , Processed in 0.701549 second(s), Total 74, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号