ARM入门笔记部件
ARM入门笔记(5)
通过A/D转换,能够正确读取外部模拟输入通道的电压值。
二.实验程序和参数设置
1 连接器选项设置和启动代码都与上个实验相同
2 C语言的代码
#i nclude AT91SAM7S64.h
#i nclude Board.h
volatile unsigned int EXT_AD_Val[4]; //定义A/D转换结果值
int main(void)
{unsigned char i;
*AT91C_ADC_CR = AT91C_CKGR_MOSCEN; //ADC的软件复位,即清除ADC的所有寄存器
*AT91C_PMC_SCER = AT91C_CKGR_MOSCEN;//使能系统时钟寄存器的处理器时钟
*AT91C_PMC_PCER = 1 91C_ID_ADC; //使能ADC时钟
*AT91C_PIOA_PDR = EXT_AD0 | EXT_AD1; //禁止管脚的I/O口功能,使作为模拟输入功能
*AT91C_ADC_MR= 0x0f1f3f00; //软件起动,10位分辨率,128分频
*AT91C_ADC_CHER = 0x33; //使能通道0,1,4,5
非议我斗不过他们*AT91C_ADC_CHDR = 0xcc; //禁能通道2,3,6,7
*AT91C_ADC_IDR= 0xfffff; //禁止所有ADC中断
while (1)
{ *AT91C_ADC_CR = 0x2; //起动转换
while(1)
{ if ((*AT91C_ADC_SR) 0x33)//等待转换结束
{ EXT_AD_Val[0] = (*AT91C_ADC_CDR0) 0x3ff;//读取10Bit的结果值
EXT_AD_Val[1] = (*AT91C_ADC_CDR1) 0x3ff;
EXT_AD_Val[2] = (*AT91C_ADC_CDR4) 0x3ff;
EXT_AD_Val[3这部卡通片的录像带应该是自己的父亲当年收藏的] = (*AT91C_ADC_CDR5) 0x3ff;
for (i = 0; i
break;
}
}
}
}
三.总结
执行ADC的软件复位,将清除ADC的所有相关寄存器,因此必须在设置ADC相关寄存器之前执行。
呼和浩特妇科习惯性流产哪家好南宁哪医院治疗男科好
药物拮抗作用
- 上一篇:岁女孩钢棍扎进眼浙沪两地警方上演爱心接部件
- 下一篇:CDP称巫师主机版仍是可行部件
-
澳大利亚牧羊犬怎样才不会掉毛位置
汤羹2022年06月13日
-
澳大利亚潜水员与巨型魟鱼温柔邂逅位置
汤羹2022年06月13日
-
温州男子为救宠物狗冲进火海后没能再出来位置
汤羹2022年06月13日
-
澳洲金刚蛇的价格价格普遍都不会太低位置
汤羹2022年06月13日
-
澳洲梗怎么选签订协议保护消费权位置
汤羹2022年06月13日
-
澳女子被袋鼠扑倒网友调侃袋鼠也如此好色位置
汤羹2022年06月13日