新手上路
- 积分
- 42
- 金钱
- 42
- 注册时间
- 2014-8-2
- 在线时间
- 0 小时
|
5金钱
学了一些之后看程序看的有点晕。。求大神给讲解一下程序运行步骤:
比如这个程序:
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"
#include "timer.h"
#include "PWM_correct.h"
#include "PWM_start.h"
#include "PWM_start_updown.h"
int main(void)
{
delay_init();
NVIC_Configuration();
uart_init(9600);
LED_Init();
TIM3_PWM_Init();
delay_ms(1000);
TIM_SetCompare2(TIM3,19080);
delay_ms(5000);
TIM_SetCompare2(TIM3,18000);
while(1)
{
}
}
程序先进行这些初始化:
delay_init();
NVIC_Configuration();
uart_init(9600);
LED_Init();
TIM3_PWM_Init();
然后进行:
delay_ms(1000);
TIM_SetCompare2(TIM3,19080);
delay_ms(5000);
TIM_SetCompare2(TIM3,18000);
最后进入死循环:while(1){};
delay_ms(1000);
TIM_SetCompare2(TIM3,19080);
delay_ms(5000);
TIM_SetCompare2(TIM3,18000);
这一部分不就只运行了一遍?为什么电机还是在一直转?程序不是进入死循环了吗?不就只是在空跑吗?
是不是定时器是单独一个线路,启动了之后自己一直在跑,而主程序另外一条线空跑?
还有呀,有的时候最后不加这个死循环为什么实现效果不一样呀?
|
|