📄 adc12.c
字号:
// adc12.c
#include "adc12.h"
/*******************************************************************************
* 说明:ADC12_Init函数,初始化ADC
* 参数:无
* 返回值:无
*******************************************************************************/
void ADC12_Init(void) {
ADC12->CSR = 0x00;
ADC12->CPR = 0x01;
}
/*******************************************************************************
* 说明:ADC12_PrescalerConfig函数,配置预定标器
* 参数:无
* 返回值:无
*******************************************************************************/
void ADC12_PrescalerConfig(u32 Adc12_clk) {
ADC12->CPR = (vu16) (RCCU_FrequencyValue(RCCU_PCLK)/(Adc12_clk*512*8));
}
/*******************************************************************************
* 说明:ADC12_ITConfig函数,允许/禁止中断
* 参数:NewState=ENABLE->允许中断
* NewState=ENABLE->禁止中断
* 返回值:无
*******************************************************************************/
void ADC12_ITConfig(FunctionalState NewState) {
if (NewState == ENABLE) {
if (ADC12->CSR & 0x0040) {
switch (ADC12->CSR & 0x30) { // 置位中断位与通道选择等效
case 0x00 : ADC12->CSR |= ADC12_IT0_Mask; break;
case 0x10 : ADC12->CSR |= ADC12_IT1_Mask; break;
case 0x20 : ADC12->CSR |= ADC12_IT2_Mask; break;
case 0x30 : ADC12->CSR |= ADC12_IT3_Mask; break;
}
}
else
ADC12->CSR |= ADC12_IT_Mask; // 循环方式,置位所有中断位
}
else
ADC12->CSR &= ~ADC12_IT_Mask; // 清除所有中断位
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -