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

请教各位大侠,在STM32的main()函数中,不加while(1)也可以死循环,不停地执行。

[复制链接]
happyzmm 提问时间:2013-8-23 15:30 /
 请教各位大侠,在STM32的main()函数中,不加while(1)也可以死循环,不停地执行。
例如:
void   main(void)
{
I2C_Write();
}
程序就会不停地执行I2C写操作。请教这是为什么呢?
收藏 评论9 发布时间:2013-8-23 15:30

举报

9个回答
feiante-155820 回答时间:2013-8-28 08:43:48

RE:请教各位大侠,在STM32的main()函数中,不加while(1)也可以死循环,不停地执行。

这个应该接上仿真器看看,程序到底是死在那个地方,才好判断。同时最好把死在那的描述清楚或上图片,才好分析
如果一直死在写操作,是不是ACK,或I2C写的某些状态没有满足引起的
fengye5340 回答时间:2013-8-29 17:22:03

回复:请教各位大侠,在STM32的main()函数中,不加while(1)也可以死循环,不停地执行。

这种情况我在STM32F3上面碰到过一次,while(1)里面什么也没有,只有一个main() 然后是初始化命令,结果那个初始化命令总是在不停地执行,正常情况下,初始化命令只执行一次才对。后来换了一个芯片,问题解决了,是芯片本身的问题,你可以试试换个芯片或者换个板子试试
 
feiante-155820 回答时间:2013-8-30 08:22:54

RE:请教各位大侠,在STM32的main()函数中,不加while(1)也可以死循环,不停地执行。

是芯片的问题吗?感觉还是I2C的硬件ACK的问题,楼主用的是模拟I2C还是硬件I2C?
stary666 回答时间:2015-1-22 12:35:39
天天晓宇 回答时间:2015-1-22 13:17:27
没遇到过
ataudio 回答时间:2015-1-22 13:26:58
好神奇啊,没有遇到过。也没考虑国新的方法。


二十四节气~惊蛰

二十四节气~惊蛰
lkl0305 回答时间:2015-1-22 14:01:48
没见过,帮顶
Magician_Boom 回答时间:2017-5-21 09:49:08
楼主现在知道是怎么回事了吗
oujisang 回答时间:2017-5-22 16:31:23
你看看是不是操作引起系统异常引起芯片复位了,现象是不断的执行,实质是芯片复位引起的,在初始化开头加个断电看看,如果是反复进入初始化的断电就是引起芯片复位了!!!!
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版