C语言程序>>ADC

这篇博客介绍了如何在AVR微控制器上初始化和使用ADC(模数转换器)。通过包含必要的头文件如<avr/io.h>、<avr/interrupt.h>和自定义的"adc.h",并设置ADCBuffer进行数据存储,博主详细阐述了初始化ADC、读取ADC值以及处理ADC转换完成中断的过程。此外,还提到了一个名为ADCTest的测试函数,用于验证ADC的功能。
摘要由CSDN通过智能技术生成
 

#include <avr/io.h>
#include <avr/interrupt.h>
#include "adc.h"
#include "key.h"

#define MaxAdcBufSize 9
#define AdcBufStep 3

static volatile unsigned int ADCBuffer[MaxAdcBufSize];

/********************************************************
ADC初始化
********************************************************/
void InitADC(void)
{
 ADMUX |= (1<<REFS1)|(1<<REFS0);
 ADCSRA |= (1<<ADEN)|(1<<ADSC)|(1<<ADATE)|(1<<ADIE)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);
 //ADC使能;ADC开始转换;连续转换;中断使能;128分频
}

/********************************************************
读取ADC
********************************************************/
unsigned int ReadADC(void)
{
 return ADCBuffer[0];
}

/********************************************************
ADC转换完成中断
********************

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值