欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
C語言使用static關(guān)鍵字命名變量后發(fā)現(xiàn)變量不動(dòng)
[打印本頁]
作者:
劉正棋
時(shí)間:
2024-5-1 11:55
標(biāo)題:
C語言使用static關(guān)鍵字命名變量后發(fā)現(xiàn)變量不動(dòng)
如題,這個(gè)帖子算一個(gè)小記吧,就是去掉static后變量達(dá)到我想要的效果了,我以為必須加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(); //延時(shí)函數(shù)初始化
Key_Init();
LED_Init();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
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;
}
}
}
復(fù)制代碼
就是開始的這個(gè)
uint16_t val=1440; 加了static后,怎么按按鍵占空比都不變,把static去了之后反而正常了,也能滿足要求,之前我很擔(dān)心程序每次循環(huán)一次
val都會(huì)被重置,但是看了看示波器發(fā)現(xiàn)并未出現(xiàn)我擔(dān)心的情況
作者:
npn
時(shí)間:
2024-5-2 13:21
樓主沒有說清楚此C語言是什么操作系統(tǒng)運(yùn)行的。
static是靜態(tài)變量的意思,編譯器會(huì)為該變量分配固定地址,函數(shù)返回后變量的值不會(huì)丟失。
作者:
hzd530
時(shí)間:
2024-5-3 21:04
樓主uint16_t val是全局變量,根本不要static,一般static用在一個(gè)函數(shù)內(nèi)的變量,每次調(diào)用函數(shù)內(nèi)部static的變量都是上次的值
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1