标题:
请教一个关于ATtiny45的AD转换的问题,附代码
[打印本页]
作者:
daiya
时间:
2019-11-6 21:39
标题:
请教一个关于ATtiny45的AD转换的问题,附代码
我在做ATtiny45 AD转换实验时,编了以下代码,可是运行不了,又找不到问题,百思不得其解,请各位高手帮忙看看问题出在哪里?
#include <tiny45.h>
#include <delay.h>
#define uchar unsigned char
#define uint unsigned int
#define led PORTB.0
void adc_init(void)
{
ADCSRA = 0x00; //禁用ADC
ADMUX = 0x03;
ACSR = 0x80; //禁用模拟比较器
ADCSRB = 0x00;
}
void port_init(void)
{
PORTB=0xFF;
DDRB=0xFF;
}
// 读取AD转换值
uint read_adc(void)
{
uint temp = 0;
ADCSRA = 0xC3; //使能AD转换
while(!(ADCSRA & 0x10)); //等待AD转换结束
temp = ADCL;
temp |= (int)ADCH << 8;
ADCSRA &= ~(1 << ADIF); //清标志
ADCSRA &= ~(1 << ADEN); //关闭转换
return temp;
}
void main(void)
{
uint i = 0;
port_init();
adc_init();
while(1)
{
delay_ms(20);
i = read_adc();
if(i>500)
{
led = 0;
}
else if(i<500)
{
led = 1;
}
}
}
作者:
LM2016
时间:
2019-11-7 19:15
可能是没选择AD通道
作者:
mygreatstrong
时间:
2019-11-26 14:48
问一下楼主,你这个用的是什么开发环境?我想搞下ATTiny45,但AStudio不支持这个芯片的C语言。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1