mix47 (14.05.2007 01:50, просмотров: 1) ответил Vladimir Ljaschko на На вот в качестве гуманитарной помощи. Сервис вставляется в прерывание 1 мс.
ммм, чтото получилось :) вопрос в том, что это ))) #include <avr/io.h>
void USART_Transmit( unsigned long data)
{
while( !( UCSRA & (1<<UDRE)) );
UDR=data;
}
void main(void)
{
unsigned long rez;
unsigned char i;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x08;
ADCSRA =(1 << ADEN)|(1 << ADIF)|(1 << ADPS2)|(1 << ADPS1)|(1 << ADPS0)|0;
ADMUX = (1<<REFS1)|(1 << REFS0)|(1 << ADLAR) |0;
i=0;
while(1)
{
USART_Transmit(0x400);
ADMUX=i;
rez=ADCH;
USART_Transmit(rez);
i++;
USART_Transmit(i);
if (i>=5) i=0;
USART_Transmit(0x401);
}
}
вроде должно работать ), где напортачил ? есть подазрения, что неправильно работаю с АЦП :/ , да и формат данных наверна нетот :/
ой,мне тут примерчик дали, пасиба Vladimir Ljaschko