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通道);你做的既是笔记,也是教程。感谢分享。 为什么楼主的所有变量都定义为int型??? 楼主ADC中断如何实现,是否尝试过?
页:
[1]