Эээ нет, лениться не стоит :)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Bill 18 мая 2004 г. 17:11
В ответ на: Господа если не жалко кинте кусок кода для работы с ADC на 4433 циклически желательно на С а то я клиню отправлено Urov 18 мая 2004 г. 17:02


/*
ADC service routines

File: ADC.c

11-Mar-02 BK Initial edit
11-Mar-02 BK Last update
*/
#include "console.h"

/* ADC Control and Status Register bit definitions */

#define ADEN_BIT (1<<7)
#define ADSC_BIT (1<<6)
#define ADFR_BIT (1<<5)
#define ADIF_BIT (1<<4)
#define ADIE_BIT (1<<3)
#define ADPS2_BIT (1<<2)
#define ADPS1_BIT (1<<1)
#define ADPS0_BIT (1<<0)

static char _channel;

//
// ** InitADC - the ADC initialization routine
//
void InitADC(void)
{
_channel = 0; // Start at channel 0
ADMUX = 0;
ADCSR = ADEN_BIT | ADSC_BIT | ADIE_BIT | 0x07;
}

//
// ADC interrupt handler
//
#pragma vector=ADC_vect
__interrupt void ADC_Int(void)
{
char _byte = (ADC >> 2); // Get the data
char volatile *_pt = &Channels[Page][_channel];

if (*_pt != _byte)
*_pt = _byte;
if (++_channel > 5) // Update channel number
_channel = 0; //
ADMUX = _channel; //
ADCSR |= ADSC_BIT; // Restart the conversion
}


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru