关于F4的输入捕获不准的问题

2019-07-20 01:27发布

板子是nucleo_f411re
用CubeMX生成的工程
套用的F429的捕获实验例程
用SR04超声波来测距
测出的距离总有跳变,打印出TIM5CH1_CAPTURE_STA,TIM5CH1_CAPTURE_VAL的值发现STA有时候会比正常的多一,用逻辑分析仪测过输入的高电平,可以确定高电平时间是几乎相同的
有1的那行是测出来的距离,理论上应该只会有微小的变化,另外一行是STA 和VAL的值 有1的那行是测出来的距离,理论上应该只会有微小的变化,另外一行是STA 和VAL的值
这是输出,有1的那行是距离,理论上应该只有微小变化,另一行第一个STA值,第二个VAL值,看到异常的输出STA多了一个
捕获中断 捕获中断
这是测距函数
测距函数 测距函数
这是用逻辑分析仪测出来的高电平时间,几乎长度一样
逻辑分析仪测得的高电平时间 逻辑分析仪测得的高电平时间




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
威武
1楼-- · 2019-07-20 06:23
也不知道什么问题
威武
2楼-- · 2019-07-20 07:43
另外,一开始加了while((TIM5CH1_CAPTURE_STA&0x80) == 0);好像会有问题,可能是编译器优化掉了,导致总是卡死,把两个变量改为volatile型就没问题了
威武
3楼-- · 2019-07-20 12:03
 精彩回答 2  元偷偷看……
edmund1234
4楼-- · 2019-07-20 13:00
捕获到这样的数据没什么不正常, F4与输入信号又不是同步的, C0~C1这样的差异再正常不过了
威武
5楼-- · 2019-07-20 18:34
edmund1234 发表于 2019-6-5 23:51
捕获到这样的数据没什么不正常, F4与输入信号又不是同步的, C0~C1这样的差异再正常不过了

那有什么办法能够消除影响吗,而且我记得好像之前在F1上没有这问题,也不知道是不是错误数据比较少,所以没注意到
edmund1234
6楼-- · 2019-07-20 20:16
 精彩回答 2  元偷偷看……

一周热门 更多>