happyzmm 发表于 2013-8-23 15:30:41

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

 请教各位大侠,在STM32的main()函数中,不加while(1)也可以死循环,不停地执行。
例如:
void   main(void)
{
I2C_Write();
}
程序就会不停地执行I2C写操作。请教这是为什么呢?

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

你看看是不是操作引起系统异常引起芯片复位了,现象是不断的执行,实质是芯片复位引起的,在初始化开头加个断电看看,如果是反复进入初始化的断电就是引起芯片复位了!!!!

李咦 发表于 2022-1-22 23:38:45

我也遇到了 搂住解决了吗
页: [1]
查看完整版本: 请教各位大侠,在STM32的main()函数中,不加while(1)也可以死循环,不停地执行。