AD转换
ADC
配置寄存器
1 ADC_CR1
ADC
配置寄存器
2 ADC_CR2
ADC
配置寄存器
3 ADC_CR3
ADC
状态寄存器
ADC_SR
ADC
数据高位寄存器
ADC_DRH
ADC
数据低位寄存器
ADC_DRL
ADC
高阈值高位寄存器
ADC_HTRH
ADC
高阈值低位寄存器
ADC_HTRL
ADC
低阈值高位寄存器
ADC_LTRH
ADC
低阈值低位寄存器
ADC_LTRL
ADC
通道序列寄存器
1 ADC_SQR1
ADC
通道选择扫描寄存器
2 ADC_SQR2
ADC
通道选择扫描寄存器
3 ADC_SQR3
ADC
通道选择扫描寄存器
4 ADC_SQR4
ADC
触发禁能
1-4 ADC_TRIGR1/2/3/4
具体的转换通道要看手册,开始转换后要等待几,
转换完成后,读取数据会清除相应的标志位,当不选择触发输入时,要
ADC1_SQR3 |= 0X40; //
选择扫描通道,不然无法转换
bit5--bit6:
精度配置
bit4:
模拟看门狗
bit2:
连续
/
单次
bit1:
开始
bit0:
开关
bit5--bit7:
采样时间
bit0--bit4:
转换通道
选择要扫描的通道
unsigned intReadSTM8AD(char idx )
{
ADC1_CR1 |= 0X01; //
使能
ADC
ADC1_CR3 |= idx; //
选择转换通道
ADC1_SQR3 |= 0X40; //
选择扫描通道
ADC1_CR1 |= 0x02; //
开始转换;
asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");
while(!(ADC1_SR & 0X01));
return ADC1_DRH;
}
|