请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F407仿真跑和直接跑有差别,是什么原因导致的?

[复制链接]
等待明天22 提问时间:2018-10-22 20:27 /
单片机使用的是STM32F407,平时用仿真器进行调试的代码运行正常,今天直接跑了一次,发现有丢数据的现象(采集到的数据没有上传到电脑),排查中用单片机的一个引脚做输出,用逻辑分析仪测量了一块程序的时间,如下图所示:用仿真器跑的时候如下图所示,间隔比较均匀,大约900us的样子

100.png


直接跑时如下图所示,间隔不均匀,而且耗时比较多,基本在10ms的样子
99.png

排查了晶振,boot0,boot1,发现也没有问题。有遇到类似情况的大神吗?求告知原因
收藏 评论4 发布时间:2018-10-22 20:27

举报

4个回答
wenyangzeng 回答时间:2018-10-22 21:31:36
楼主应该把系统的各种中断所需耗时考虑进去(比如SysTick中断),在进入各种中断和进行ADC转换时就无法执行发送数据的任务了。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

等待明天22 回答时间:2018-10-22 21:35:38
wenyangzeng 发表于 2018-10-22 21:31
楼主应该把系统的各种中断所需耗时考虑进去(比如SysTick中断),在进入各种中断和进行ADC转换时就无法执行 ...

关键是用仿真器运行时是正常的,而直接跑就出问题了
七哥 回答时间:2018-10-23 09:16:49
多试几次,看看现象有一样吗,有没有细微的差别?
只要有差别,就有可能程序有缺陷。没有操作系统,并且没有外部触发条件的裸机程序,执行起来应该是基本确定的。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

等待明天22 回答时间:2018-10-23 12:36:41
toofree 发表于 2018-10-23 09:16
多试几次,看看现象有一样吗,有没有细微的差别?
只要有差别,就有可能程序有缺陷。没有操作系统,并且没 ...

有操作系统的,难道是ucos的问题?后来又测试了,只要用仿真器就是好的,不用仿真器,有时候也好,属于概率性的
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版