请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP430FR2355 #include "msp430fr2355.h"
;-------------------------------------------------------------------------------
ORG 08000h ; Program Reset
;-------------------------------------------------------------------------------
RESET mov #03000h,SP ; Initialize stackpointer
mov #WDTPW+WDTHOLD,&WDTCTL ; Stop watchdog timer
call #SetupA2D
Loop
call #ReadA2D
jmp Loop
;-------------------------------------------------------------------------------
ReadA2D
bic #ADCIFG0,&ADCIFG
bis #ADCON+ADCENC+ADCSC,&ADCCTL0
A2DLoop
bit #ADCIFG0,&ADCIFG
jz A2DLoop
bic #ADCENC+ADCSC,&ADCCTL0
ret
nop
;-------------------------------------------------------------------------------
SetupA2D
; 8 S/H clock cycles
mov #ADCSHT_1+ADCON,&ADCCTL0
mov #ADCSHP,&ADCCTL1
mov #ADCRES_2,&ADCCTL2
ret
;-------------------------------------------------------------------------------
ORG 0FFFEh
DW RESET
END
当我执行代码第16行中的指令(单步执行代码)时、ADCSC 位永远不会开启。 它会保持为0。