独闷闷网
标题: stm8 ADC的使用 [打印本页]
作者: leefei 时间: 2015-3-29 22:36
标题: stm8 ADC的使用
今天分享的内容是stm8的ADC使用方法。
Stm8s103f3p6的ADC寄存器有很多。但很多初学者要使用ad时不知道到设置哪个寄存器,
其实stm8的ADC的单通道采集只要ADC_CR1,ADC_CR2,ADC_CSR三个寄存器就可以搞定了;
具体这三个寄存器每一位是干嘛的请看参考手册,配置方法看代码:
/****************************
ADC初始化
***************************/
void ADC_Init(void)
{
ADC_CR1 = 0X00; //不分频禁止使能ADC
ADC_CR2 = 0X30; //左对齐
ADC_CR1 |=0X01; //唤醒
}
unsigned int ReadADC(unsigned int AIN)
{
unsigned int i = 0;
ADC_CSR = AIN;
ADC_CR1 |=0X01; //开始转换
while(!(ADC_CSR&0X80)); //等待转换结束
ADC_CSR &=0X7F; //清零转换结束标志位
i = (unsigned int)ADC_DRH; //读ADC的值
i = i<<2;
i += (unsigned int)ADC_DRL;
return (i); //把读到的值返回
}
要使用ADC时先初始化ADC_Init();循环中读ReadADC(这里写要采集的AD通道);
作者: jianhong_wu 时间: 2015-3-29 22:45
你做的既是笔记,也是教程。感谢分享。
作者: 101MHz 时间: 2015-3-30 14:51
为什么楼主的所有变量都定义为int型???
作者: 蓝色追天 时间: 2015-10-11 15:30
楼主ADC中断如何实现,是否尝试过?
欢迎光临 独闷闷网 (http://www.dumenmen.com/) |
Powered by Discuz! X3.2 |