新聞中心

MSP430——AD10的DTC問題

作者: 時(shí)間:2016-11-13 來源:網(wǎng)絡(luò) 收藏
今晚終于把MSP430單片機(jī)AD10的連續(xù)轉(zhuǎn)換調(diào)試出來了。

AD單通道單次轉(zhuǎn)換一次是沒有問題的。

本文引用地址:http://m.butianyuan.cn/article/201611/316481.htm

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

ADC10AE0 |= 0x40;

ADC10CTL1 = INCH_6;

ADC10CTL0 |= ENC + ADC10SC;

設(shè)置AD轉(zhuǎn)換,選擇通道6,使能通道6的模擬輸入,及一些相關(guān)信息。最后開啟AD轉(zhuǎn)換。

接下來嘗試AD單通道連續(xù)轉(zhuǎn)換。

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;

設(shè)置AD,啟動(dòng)DTC。

在單次轉(zhuǎn)換時(shí),AD將轉(zhuǎn)換結(jié)果存入AD10MEM時(shí)就會(huì)產(chǎn)生中斷;在單通道多次轉(zhuǎn)換時(shí),啟動(dòng)DTC,那么,在一次完整的數(shù)據(jù)搬移之后才會(huì)產(chǎn)生中斷。(也就是說,開啟了中斷,在進(jìn)入中斷程序之后,AD轉(zhuǎn)換已經(jīng)結(jié)束了,結(jié)果也已經(jīng)保存起來。)

在調(diào)試時(shí)犯了一個(gè)錯(cuò)誤,就是在設(shè)置AD之前加了一條語句__bis_SR_register( CPUOFF + GIE );結(jié)果程序運(yùn)行到下面一句設(shè)置AD時(shí),就執(zhí)行不下去,死在哪里。呵呵……發(fā)現(xiàn)原來是把CPU給禁止了。



關(guān)鍵詞: MSP430AD10DTC問

評論


技術(shù)專區(qū)

關(guān)閉