📄 main.c
字号:
/*
Mega8 中断方式 A/D 转换测试程序
文件名:main.c
硬件:CA-M8
编译:WinAVR-20040720
芯艺 2004-09-19
*/
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/delay.h>
#include <stdio.h>
#define uchar unsigned char
#define uint unsigned int
static uint g_nAdValue=0;
void IoInit(void);
//AD转换完成中断
SIGNAL(SIG_ADC)
{
g_nAdValue=ADCL;
g_nAdValue|=(uint)(ADCH<<8);
}
int main(void)
{
uchar i;
//内部2.56V参考电压,0通道
ADMUX=0Xc0;
//使能ADC,中断允许,自由模式, 时钟:ck/8
ADCSRA=_BV(ADEN)|_BV(ADIE)|_BV(ADFR)|_BV(ADPS1)|_BV(ADPS0);
IoInit();//标准输入/输出初始化
ADCSRA|=_BV(ADSC);//自由模式开始转换
while(1)
{
//延时
for(i=0;i<100;i++)
_delay_loop_2(4 * 250 * 10);//10ms
cli();
printf("%d\n",g_nAdValue);
sei();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -