|
如题,这个帖子算一个小记吧,就是去掉static后变量达到我想要的效果了,我以为必须加static才有这样的效果呢
- #include "delay.h"
- #include "sys_other.h"
- #include "timer.h"
- #include "Key.h"
- uint8_t KeyNum;
- uint16_t val=1440;
- int main(void)
- {
- delay_init(); //延时函数初始化
- Key_Init();
- LED_Init();
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
- TIM4_PWM_Init(7199,0); //不分频。PWM频率=72000000/(900)(0+1)=80Khz
- while(1)
- {
- KeyNum = Key_GetNum(); //将 Key_GetNum() 返回值给KeyNum
- TIM_SetCompare1(TIM4,3600); //TIM4->CCR1=400
- TIM_SetCompare2(TIM4,val); //TIM4->CCR2=800
- if (KeyNum == 1)
- {
- val+=360;
- }
- if (val > 7200)
- {
- val=1440;
- }
- }
- }
复制代码 就是开始的这个uint16_t val=1440; 加了static后,怎么按按键占空比都不变,把static去了之后反而正常了,也能满足要求,之前我很担心程序每次循环一次val都会被重置,但是看了看示波器发现并未出现我担心的情况
|
评分
-
查看全部评分
|