娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年05月07日(星期三)

2019年05月07日 | MSP430Fr6972--AD使用小結

發布者:SparkleMagic 來源: eefocus關鍵字:MSP430Fr6972  使用小結 手機看文章 掃描二維碼
隨時隨地手機看文章

#include<msp430.h>


int main(void)

{

  WDTCTL = WDTPW | WDTHOLD;                 // Stop WDT


  // GPIO Setup

  P1OUT &= ~(BIT4 |BIT5);                           // Clear LED to start

  P1DIR |= (BIT4 | BIT5);                            // P1.4/5 output

  

  //1.采樣引腳配置

  ///配置為AD功能,P1.0~3(A0~3)、P9.4~7(A12~15)均可以復用為AD采樣功能

  P1SEL1 |= BIT3;                           

  P1SEL0 |= BIT3;                           /// Configure P1.3 for ADC:

                                            

  // Disable the GPIO power-on default high-impedance mode to activate

  // previously configured port settings

  PM5CTL0 &= ~LOCKLPM5;



  //2.參考電壓配置

  // By default, REFMSTR=1 => REFCTL is used to configure the internal reference

  while(REFCTL0 & REFGENBUSY);              // If ref generator busy, WAIT

  REFCTL0 |= REFVSEL_1 | REFON;             // Select internal ref = 2.0V

                                            // Internal Reference ON

                                            //詳見《user's guide》24.3.1



  ///3.ADC相關寄存器配置

  // Configure ADC12

  //ADC12CTL0~2控制寄存器

  ADC12CTL0 = ADC12SHT0_2 | ADC12ON;        // 采樣保持時間16ADCCLK;啟動AD(在ADC12ENC=0的情況下,修改啟動或關閉AD)

  ADC12CTL1 = ADC12SHP;                     // ADCCLK = MODOSC; sampling timer  : 從采樣保持器中獲取信號

  ADC12CTL2 |= ADC12RES_2;                  // 12-bit conversion results分辨率

  ADC12CTL3 |=ADC12CSTARTADD_5;             //選擇ADC12MCTL5控制

  ADC12IER0 |= ADC12IE5;                    // Enable ADC conv complete interrupt(ADC12MEM5)



  //////////////////////////////////////////////////////////////////////////////

  //AD使用總結:

  //詳見《user's guide》Figure 25-1 ADC12_B模塊圖

  //AD有32個獨立采樣通道A0~A31,即ADC12INCH_x選擇哪個通道,這個通道與IO引腳對應,詳見《datasheet》Table 4-1. Pin Attributes

      //P1.3引腳對應A3,所以這里使用ADC12INCH_3

  

  //ADC12MCTL0~31對應32個通道管理寄存器,管理響應的AD轉換結果保存寄存器ADC12MEM0~31,使用哪個寄存器保存結果用ADC12CSTARTADD_x設置

      //例:ADC12CTL3 |=ADC12CSTARTADD_5;//選擇ADC12MCTL5控制ADC12MEM5保存AD轉換結果

      //ADC12IER0 |= ADC12IE5;中斷與響應寄存器對應

      //注:ADC12MEM0~31與AD有32個獨立采樣通道A0~A31不需要一一對應使用

         //本例中A3通道使用的就是ADC12MEM5,即:ADC12MEMx可以任意分配給不同的通道,詳見Figure 25-1

  //////////////////////////////////////////////////////////////////////////////

  ADC12MCTL5 |= ADC12INCH_3 | ADC12VRSEL_1;   //ADC12INCH_3  : 通道3   ////    ADC12VRSEL_1   :內部參考電壓


  //4.等待參考電壓配置完成

  while(!(REFCTL0 & REFGENRDY));            // Wait for reference generator to settle


  while(1)

  {

    //5.Ad采樣并獲得結果  注:AD采樣是需要時間的,加上延時

    __delay_cycles(5000);                    // Delay between conversions

    ADC12CTL0 |= ADC12ENC | ADC12SC;         // Sampling and conversion start


    __bis_SR_register(LPM0_bits + GIE);      // LPM0, ADC10_ISR will force exit

    __no_operation();                        // For debug only

  }

}


///中斷處理函數

#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)

#pragma vector = ADC12_VECTOR

__interrupt void ADC12_ISR(void)

#elif defined(__GNUC__)

void __attribute__ ((interrupt(ADC12_VECTOR))) ADC12_ISR (void)

#else

#error Compiler not supported!

#endif

{

  switch (__even_in_range(ADC12IV, ADC12IV_ADC12RDYIFG))

  {

    case ADC12IV_NONE:        break;        // Vector  0:  No interrupt

    case ADC12IV_ADC12OVIFG:  break;        // Vector  2:  ADC12MEMx Overflow

    case ADC12IV_ADC12TOVIFG: break;        // Vector  4:  Conversion time overflow

    case ADC12IV_ADC12HIIFG:  break;        // Vector  6:  ADC12BHI

    case ADC12IV_ADC12LOIFG:  break;        // Vector  8:  ADC12BLO

    case ADC12IV_ADC12INIFG:  break;        // Vector 10:  ADC12BIN

    case ADC12IV_ADC12IFG0:                 // Vector 12:  ADC12MEM0 Interrupt

    case ADC12IV_ADC12IFG1:   break;        // Vector 14:  ADC12MEM1

    case ADC12IV_ADC12IFG2:   break;        // Vector 16:  ADC12MEM2

    case ADC12IV_ADC12IFG3:   break;

    case ADC12IV_ADC12IFG4:   break;        // Vector 20:  ADC12MEM4

    

    ///使用哪個ADC12MEMx存儲AD結果,轉換完成后就會觸發響應寄存器的完成中斷,標注位為ADC12IV_ADC12IFGx

    ///前提:ADC12IER0 |= ADC12IE5; //設置AD完成中斷

    case ADC12IV_ADC12IFG5:   //break;        // Vector 22:  ADC12MEM5

      if (ADC12MEM5 >= 0x6B4)               // ADC12MEM = A1 > 0.5V?

        P1OUT |= BIT5;                      // P1.4 = 1

      else

        P1OUT &= ~BIT5;                     // P1.4 = 0

        __bic_SR_register_on_exit(LPM0_bits); // Exit active CPU

      break;                                // Clear CPUOFF bit from 0(SR)

    case ADC12IV_ADC12IFG6:   break;        // Vector 24:  ADC12MEM6

    case ADC12IV_ADC12IFG7:   break;        // Vector 26:  ADC12MEM7

    case ADC12IV_ADC12IFG8:   break;        // Vector 28:  ADC12MEM8

    case ADC12IV_ADC12IFG9:   break;        // Vector 30:  ADC12MEM9

    case ADC12IV_ADC12IFG10:  break;        // Vector 32:  ADC12MEM10

    case ADC12IV_ADC12IFG11:  break;        // Vector 34:  ADC12MEM11

    case ADC12IV_ADC12IFG12:  break;        // Vector 36:  ADC12MEM12     

    case ADC12IV_ADC12IFG13:  break;        // Vector 38:  ADC12MEM13

    case ADC12IV_ADC12IFG14:  break;        // Vector 40:  ADC12MEM14

    case ADC12IV_ADC12IFG15:  break;        // Vector 42:  ADC12MEM15

    case ADC12IV_ADC12IFG16:  break;        // Vector 44:  ADC12MEM16

    case ADC12IV_ADC12IFG17:  break;        // Vector 46:  ADC12MEM17

    case ADC12IV_ADC12IFG18:  break;        // Vector 48:  ADC12MEM18

    case ADC12IV_ADC12IFG19:  break;        // Vector 50:  ADC12MEM19

    case ADC12IV_ADC12IFG20:  break;        // Vector 52:  ADC12MEM20

    case ADC12IV_ADC12IFG21:  break;        // Vector 54:  ADC12MEM21

    case ADC12IV_ADC12IFG22:  break;        // Vector 56:  ADC12MEM22

    case ADC12IV_ADC12IFG23:  break;        // Vector 58:  ADC12MEM23

    case ADC12IV_ADC12IFG24:  break;        // Vector 60:  ADC12MEM24

    case ADC12IV_ADC12IFG25:  break;        // Vector 62:  ADC12MEM25

    case ADC12IV_ADC12IFG26:  break;        // Vector 64:  ADC12MEM26

    case ADC12IV_ADC12IFG27:  break;        // Vector 66:  ADC12MEM27

    case ADC12IV_ADC12IFG28:  break;        // Vector 68:  ADC12MEM28

    case ADC12IV_ADC12IFG29:  break;        // Vector 70:  ADC12MEM29

    case ADC12IV_ADC12IFG30:  break;        // Vector 72:  ADC12MEM30

    case ADC12IV_ADC12IFG31:  break;        // Vector 74:  ADC12MEM31

    case ADC12IV_ADC12RDYIFG: break;        // Vector 76:  ADC12RDY

    default: break;

  }

}


關鍵字:MSP430Fr6972  使用小結 引用地址:MSP430Fr6972--AD使用小結

上一篇:MSP430F1232針對ADC10(使用DTC+SA)的內存中采樣結果讀取
下一篇:MSP430時鐘倍頻設置

推薦閱讀

一、思維差異蘋果之所以成為全球最賺錢的公司,關鍵在于產品的性能超越了用戶的預期,且因為大量可重用的核心領域知識,綜合成本做到了極致。Yourdon和Constantine在《結構化設計》一書中,將經濟學作為軟件設計的底層驅動力,軟件設計應該致力于降低整體成本。人們發現軟件的維護成本遠遠高于它的初始成本,因為理解現有代碼需要花費時間,而且容易出錯。...
據福布斯報道,蘋果警告iPhone用戶不要接聽Apple客服的電話,除非他們使用官方的Apple在線支持頁面要求客服打電話。 這是由于冒出蘋果官方客服的詐騙電話越來越多,并且他們手法復雜老練,甚至利用蘋果官方的Logo、地址、客服電話號碼來誘使你上當。通過冒充蘋果客服電話號碼并顯示蘋果的標志,用戶很容易信以為真,詐騙者一般會聲稱你的iCloud帳...
全球領先的半導體解決方案供應商瑞薩電子株式會社(TSE:6723)今日宣布推出全新精密溫度傳感器TS5111,用于DDR5存儲器模塊以及其它需要精確、實時溫度監控的多種應用,例如固態磁盤(SSD)、計算主板和通信設備等。符合JEDEC(固態技術協會)標準的全新溫度傳感器使內存模塊和其它溫度敏感系統能夠通過實時、閉環的熱管理算法以高效率及可靠性運行。 TS51...
在日常的實驗中,你是否曾經有過類似的疑問:“實驗室這么多示波器,這次測400G要選擇哪臺?”“今天就看個板子上的電源,這臺儀器不是最貴的嗎?怎么測出來噪聲這么大?”“怎么感覺信號有周期抖動?”“需要驗證個3.125G的Serdes,用13GHz的還是用59GHz的那臺?”在光通信甚至于各類電子設計的測試中,示波器占據了舉足輕重的地位。比如測波形,測昨天我...

史海拾趣

問答坊 | AI 解惑

單片機最小系統

本帖最后由 paulhyde 于 2014-9-15 09:20 編輯 一般競賽都用什么單片機最小系統?51單片機還是msp430?51是at89s51還是89c51?兩個有什么區別嗎?  …

查看全部問答∨

關于串口驅動

個人理解 微軟顯示串口驅動的MDD層 自己要實現PDD層 今天在PB5.0下看到這個 D:\\WINCE500\\PUBLIC\\COMMON\\OAK\\DRIVERS\\SERIAL中有一個SERPDDCM文件夾 看名字好像是串口驅動的PDD 想問下這是個什么東西 如果是PDD 那寫串口驅動還需要做些什么 ...…

查看全部問答∨

如何在編譯模塊的時候引用Glib庫

我寫了一個模塊,已經編譯通過,運行沒有問題 可是我希望進一步再模塊中使用Glib庫的API的時候,加入 #include <glib.h> 編譯模塊的時候怎么樣都找不到glib.h 我知道模塊編譯的時候是在系統空間編譯的, 我在用戶空間引用glib.h就沒有問 ...…

查看全部問答∨

請問NK調入內存并開始執行后,為何還要讀FLASH?

如下所示,EBOOT已經把NK調度到內存,并且已經跳到NK去執行。為什么NK還要初始化FLASH,并且要花十幾秒的時間去讀FLASH? Windows CE Kernel for ARM (Thumb Enabled) Built on Feb  8 2007 at 23:36:51 ProcessorType=0920 &nbs ...…

查看全部問答∨

LIST BOX顯示數據的問題

{          // TODO: 在此添加控件通知處理程序代碼          int nEngineType;          int OpenMode;           ...…

查看全部問答∨

關于驅動安裝成功后出現的未知設備問題

目前開發完一個針對philips saa7130的視頻采集驅動,安裝完后,系統提示出現“未知設備”,但卡的驅動已經成功裝上。分析后發現“未知設備”是saa7130芯片支持的TV tuner,但目前我們的用戶不需要該功能,所以想在裝上驅動后,不再出現提示用戶安裝 ...…

查看全部問答∨

單片機學習方面的問題!

我想學單片機,現在準備買設備。大家幫忙推薦幾個好點的東西。 編程器我想買多功能編程器,不知道有哪些?還有其他的配件大家也幫幫忙推薦一下,我現在對這方面還不懂。 我學過c,8086匯編,模擬電路,數字電路 微機原理 verilog等課程。歡迎大 ...…

查看全部問答∨

uCOS 在STM32移植的問題!

  uCOS-II在STM32的移植,我做了N天了,可是uCOS就是在我的板子上運行不起來,實在讓我很糾結!在此發帖,希望有人幫幫我。   前幾天開始uCOS在STM32的移植,剛開始移植編譯老是不通過,找了五天,看了官方的移植例子,實在看不懂,又去 ...…

查看全部問答∨

LPC9221 io口設置與使用

我有個nxp p89lpc9221芯片,用來控制7段數碼管顯示,用ICP口編程。 我現在設置p0.0,p0.1,p0.2為開漏輸出;P0M1 |= 0x07;   P0M2 |= 0x07; 三個腳都上拉到3.3v; 然后設置三個腳輸出為0: sbit p00 = P0 ^ 0; sbit p01 = P0 ^ 1; sbit ...…

查看全部問答∨

基于RL78/G14的健康醫療進度說明貼

本人有幸成為這次DIY活動的參與者,得到了論壇的大力支持,論壇寄給我一塊RL78/G14開發板,我當我拿到這個開發板的時候很喜歡它,迫不及待的想學習它,于是我焊了一個電源模塊,用萬用表測得時候還很好,用電源模塊給開發板供電的時候卻把開發板燒 ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 西城区| 双桥区| 安乡县| 睢宁县| 安庆市| 贵阳市| 手游| 曲靖市| 通河县| 晋宁县| 无极县| 厦门市| 仙桃市| 南江县| 德令哈市| 大丰市| 连城县| 壤塘县| 新乐市| 新安县| 蕲春县| 湖北省| 恩施市| 三明市| 阳城县| 铁岭市| 景德镇市| 延津县| 宜城市| 东兴市| 云浮市| 扶沟县| 灵宝市| 枞阳县| 馆陶县| 泾源县| 广南县| 象州县| 长汀县| 额敏县| 丹棱县|