adc12.c
来自「IAR EWARM嵌入式系统编程与实践光盘源码」· C语言 代码 · 共 46 行
C
46 行
// 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 + =
减小字号Ctrl + -
显示快捷键?