⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 samadc.c

📁 At91s64_ucos2.76:基于at91sam7s64芯片的uc/os移植代码
💻 C
字号:
#include "AT91SAM7S64.h"

#include "SAMadc.h"



void ADCinit(void)
{
 // clock
 AT91C_BASE_PMC->PMC_PCER=(1<<4);          // ADC
 
 // ADC
 AT91C_BASE_ADC->ADC_CR=AT91C_ADC_SWRST;
 
 // only soft trigger,10-bit resolution;sleep mode
 AT91C_BASE_ADC->ADC_MR=(15<<24)|(31<<16)|(63<<8)|(1<<5);
 
 //AT91C_BASE_ADC->ADC_CHER=0xF0;
 AT91C_BASE_ADC->ADC_CHDR=0xFF;
 
 // IRQ
 AT91C_BASE_ADC->ADC_IDR=0x000FFFFF;
}

unsigned int ADCConv(unsigned char ch)
{
 unsigned int s=0;
 
 AT91C_BASE_ADC->ADC_CHER=(1<<ch);
 
 AT91C_BASE_ADC->ADC_CR=AT91C_ADC_START;
 
 s=AT91C_BASE_ADC->ADC_SR;
 
 while(!(s&(1<<ch)))  s=AT91C_BASE_ADC->ADC_SR; // wait for conversion complete
 
 s=AT91C_BASE_ADC->ADC_LCDR;
 
 AT91C_BASE_ADC->ADC_CHDR=(1<<ch); 
 
 return s;
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -