- #define MAIN_Fosc 22118400UL //定义主时钟
- #define ADC_SPEED 15 /* 0~15, ADC转换时间(CPU时钟数) = (n+1)*32 ADCCFG */
- #define RES_FMT (1<<5) /* ADC结果格式 0: 左对齐, ADC_RES: D11 D10 D9 D8 D7 D6 D5 D4, ADC_RESL: D3 D2 D1 D0 0 0 0 0 */
- /* ADCCFG 1: 右对齐, ADC_RES: 0 0 0 0 D11 D10 D9 D8, ADC_RESL: D7 D6 D5 D4 D3 D2 D1 D0 */
- #define ADC_CH 2 /* 1~16, ADC转换通道数, 需同步修改 DMA_ADC_CHSW 转换通道 */
- #define ADC_NUM 256 /* 每个通道ADC转换次数, 需同步修改DMA_ADC_CFG2 转换次数 */
- #define DMA_ADDR 0x800 /* DMA数据存放地址 */
复制代码
- unsigned char xdata DMA_Buffer[ADC_CH][ADC_NUM*2+4] _at_ DMA_ADDR;
复制代码
- ADC_Value[channel]=DMA_Buffer[channel][2*ADC_NUM+2];
- ADC_Value[channel]<<=8;
- ADC_Value[channel]|=DMA_Buffer[channel][2*ADC_NUM+3];
- ADC_Value[channel]<<=8;
- ADC_Value[channel]|=DMA_Buffer[channel][2*ADC_NUM+1];
- // ADC_Value[channel]>>=4; //20bit结果右移4位得16位结果
- ADC_Value[channel]>>=8; //20bit结果右移8位得12位结果
复制代码
|