STM8S的官方例程里怎么没有ADC1

如题所述

void InitADC()
{
ADC1->CR1 = 0x20; //分频系数为4 单次转换模式 先不启动ADC转换
ADC1->CR2 = 0x08; //非外部触发 数据右对齐 禁止扫描模式
ADC1->CSR = 0x03; //禁止转换结束中断 设置转换通道为AIN3
ADC1->TDRL|= 0x08; //禁止AIN3施密特触发器功能
ADC1->CR1 |= 0x01; //第一次写1是从低功耗模式唤醒
}

unsigned int GET_AD()
{
unsigned int temph=0;
unsigned char templ=0;
ADC1->CR1 |= 0x01; //启动AD转换
while(!(ADC1->CSR&0x80)); //等待转换结束
ADC1->CSR &= ~0x80; //清除转换结束标志
templ = ADC1->DRL;
temph = ADC1->DRH; //读出AD转换结果
temph = ConTOINT(temph,templ);
return(temph);
}
温馨提示:答案为网友推荐,仅供参考