ARM中關于設置寄存器的一點看法
#define rADCCON(*(volatile unsigned*)0x58000000) //ADC控制寄存器 #define rADCTSC(*(volatile unsigned*)0x58000004) //ADC觸摸屏控制寄存器 #define rADCDLY(*(volatile unsigned*)0x58000008) //ADC啟動或間隔延時寄存器 #define rADCDAT0(*(volatile unsigned*)0x5800000c) //ADC轉換數據寄存器0 #define rADCDAT1(*(volati1e unsigned*)0x58000010) //ADC轉換數據寄存器 void AD_Init(unsigned char ch){ rADCDLY=100; //ADC啟動或間隔延時 rADCTSC=0; //選擇ADC模式 rADCCON=(1<<14)|(49<<6)|(ch<<3)| (0<<2)|(0<<1)|(0); //設置ADC控制寄存器 } ......
關于設置ADC控制寄存器指令 : rADCCON=(1<<14)|(49<<6)|(ch<<3)| (0<<2)|(0<<1)|(0)
本文引用地址:http://www.104case.com/article/201611/317762.htm其含義是:
1左移(以0位為準)14位,即設置ADCCON中的PRSCEN為1:使能;
49左移6位,即前置分頻器 分頻數值為50(當前置分頻器數值為N時,分頻數值為N+1);
ch是變量,輸入通道選擇設置;
備用模式為正常模式;
禁止讀操作啟動;
AD轉換不啟動。
評論