独闷闷网

标题: stm8 ADC的使用 [打印本页]

作者: leefei    时间: 2015-3-29 22:36
标题: stm8 ADC的使用
今天分享的内容是stm8ADC使用方法。
Stm8s103f3p6ADC寄存器有很多。但很多初学者要使用ad时不知道到设置哪个寄存器,
其实stm8ADC的单通道采集只要ADC_CR1,ADC_CR2ADC_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