音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

請教各位一個變量賦值的問題

作者:不辣的皮特 欄目:單片機
請教各位一個變量賦值的問題
/ ADC end-of-conversion ISR
// Here we take the ADC SAMPLE, add it to a running total <accumulator>, and
// decrement our local decimation counter <int_dec>.  When <int_dec> reaches
// zero, we calculate the new VALUE of the GLOBAL variable <result>,
// which stores the accumulated ADC result.
//
void ADC_isr (void) interrupt 15
{
   static unsigned int_dec=256;        // integrate/decimate counter
                                       // we post a new result when
                                       // int_dec = 0
   static LONG accumulator=0L;         // heres where we integrate the
                                       // ADC SAMPLEs             

   ADCINT = 0;                         // clear ADC conversion complete
                                       // indicator

   accumulator += ADC0;                // read ADC VALUE and add to running
                                       // total
   int_dec--;                          // update decimation counter

   if (int_dec == 0) {                 // if zero, then decimate
      int_dec = 256;                   // reset counter
      result = accumulator >> 4;       // Shift to perform the divide operation
      accumulator = 0L;                // dump accumulator
   }
}


我的問題是:int_dec 和 accumulator 這兩個變量的賦值是不是應(yīng)該放在中斷服務(wù)程序的外面?

2樓: >>參與討論
不辣的皮特
沒人回答我
 
3樓: >>參與討論
computer00
一個變量聲明為靜態(tài)變量時,如果有初始化,則初始化只執(zhí)行一次
    放在外邊,就是全局變量。
    放在里邊,就是局部變量。
    一個變量聲明為靜態(tài)變量時,如果有初始化,則初始化只執(zhí)行一次。
    這個在普通函數(shù)里是這樣規(guī)定的。
    在中斷服務(wù)函數(shù)里,是否是這樣,我就不清楚了。
    我想應(yīng)該是一樣的吧。

4樓: >>參與討論
不辣的皮特
不會吧?
那里可以找到這方面的詳細介紹呢?

5樓: >>參與討論
computer00
看C語言的書
   如果每次都重新初始化,那就失去了靜態(tài)變量的意義了。

6樓: >>參與討論
lovehefeng
very GOOD
 
7樓: >>參與討論
不辣的皮特
感謝
 
8樓: >>參與討論
李冬發(fā)
computer00說的是正確的,但要補充些才完善
如果 int_dec 和 accumulator 只在這個函數(shù)中用到,則就應(yīng)該放在內(nèi)部(這是規(guī)矩);如果還有其它程序也要用到,則就要放在外部,中斷服務(wù)程序內(nèi)用到的還要聲明為volatile屬性。

中斷服務(wù)函數(shù)與普通函數(shù)是一樣的。

9樓: >>參與討論
不辣的皮特
謝謝 李先生 的指點
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
請問那里有破解版的proteus下載?
一百腳多的CPLD如何焊接?是否有插入插座的CPLD?
使用PIC16LF877A的問題
哪種單片機可以用串口下載程序?
請教信號發(fā)生器和函數(shù)發(fā)生器有區(qū)別嗎?
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號