while(1)

2019-10-16 06:19发布

stm32是一行一行读取代码的吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
Shu1995
1楼-- · 2019-10-16 07:51
程序执行完一遍,只要不是循环在里边,就又从开始又执行,所一直闪烁。
wqs6050626
2楼-- · 2019-10-16 09:42
int main(void)
{       
        delay_init();            //延时函数初始化          
        LED_Init();                          //初始化与LED连接的硬件接口
       
       
                LED0=0;
                LED1=1;
                delay_ms(300);         //延时300ms
                LED0=1;
                LED1=0;
                delay_ms(300);        //延时300ms
       
}
为什么跑马灯还是不停的闪烁?
xuande
3楼-- · 2019-10-16 09:47

这问法不着调。

程序是一句句顺序执行
想说这意思吗?


f1174562
4楼-- · 2019-10-16 10:13
我猜是这样的,执行完指令后,flash空白区全是空指令,PC+1执行完所有空指令后PC又从零开始重新执行有效指令。所以LED在循环闪烁。
wqs6050626
5楼-- · 2019-10-16 12:14
 精彩回答 2  元偷偷看……
lavion
6楼-- · 2019-10-16 16:26
STM32 仅仅是硬件, 和任何CPU  MCU 都一样,  它执行的是 机器语言 .     所谓的代码, 看你是什么代码.     这个代码 变成机器语言,  需要的是  编译器.        请看编译原理.  你就知道为什么是main  为什么 while(1)了