新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > MSP430——AD10的DTC問題

        MSP430——AD10的DTC問題

        作者: 時間:2016-11-13 來源:網絡 收藏
        今晚終于把MSP430單片機AD10的連續轉換調試出來了。

        AD單通道單次轉換一次是沒有問題的。

        本文引用地址:http://www.104case.com/article/201611/316481.htm

        ADC10CTL0 = SREF_1+ADC10SHT_2 + REFON+ADC10ON+ ADC10IE ;

        ADC10AE0 |= 0x40;

        ADC10CTL1 = INCH_6;

        ADC10CTL0 |= ENC + ADC10SC;

        設置AD轉換,選擇通道6,使能通道6的模擬輸入,及一些相關信息。最后開啟AD轉換。

        接下來嘗試AD單通道連續轉換。

        ADC10CTL0|=SREF_0+ADC10SHT_2+MSC+ADC10IE+ADC10ON;

        ADC10CTL1|=INCH_6+SHS_0+ADC10SSEL_0+CONSEQ_2;

        ADC10AE0 |= 0x40;

        ADC10DTC1 = 0x0A;

        ADC10SA = 0x200;

        ADC10CTL0 |= ENC + ADC10SC;

        設置AD,啟動DTC。

        在單次轉換時,AD將轉換結果存入AD10MEM時就會產生中斷;在單通道多次轉換時,啟動DTC,那么,在一次完整的數據搬移之后才會產生中斷。(也就是說,開啟了中斷,在進入中斷程序之后,AD轉換已經結束了,結果也已經保存起來。)

        在調試時犯了一個錯誤,就是在設置AD之前加了一條語句__bis_SR_register( CPUOFF + GIE );結果程序運行到下面一句設置AD時,就執行不下去,死在哪里。呵呵……發現原來是把CPU給禁止了。



        關鍵詞: MSP430AD10DTC問

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 乌审旗| 阿拉善盟| 宁陵县| 黄龙县| 轮台县| 农安县| 巴南区| 河西区| 无锡市| 苍梧县| 广宁县| 香格里拉县| 嘉黎县| 卢湾区| 柳河县| 阿图什市| 彭水| 静宁县| 荔浦县| 徐汇区| 邯郸县| 田阳县| 西峡县| 浑源县| 富源县| 建瓯市| 安塞县| 郯城县| 抚宁县| 东至县| 治多县| 西乌珠穆沁旗| 德化县| 思茅市| 温宿县| 三明市| 团风县| 凌云县| 清远市| 荥经县| 紫阳县|