|
如題,這個帖子算一個小記吧,就是去掉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都會被重置,但是看了看示波器發現并未出現我擔心的情況
|
評分
-
查看全部評分
|