Subversion Repositories BL-Ctrl

Rev

Rev 63 | Rev 90 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 63 Rev 73
Line 8... Line 8...
8
//Init ADC
8
//Init ADC
9
void ADC_Init(void)
9
void ADC_Init(void)
10
//############################################################################
10
//############################################################################
11
{
11
{
12
  ADCSRA = 0xA6;  // Free Run & 1MHZ
12
  ADCSRA = 0xA6;  // Free Run & 1MHZ
13
  ADMUX = 7;      // Kanal 7
13
  ADMUX = 7 | IntRef;      // Kanal 7
14
  ADCSRA |= 0x40; // Start
14
  ADCSRA |= 0x40; // Start
15
}
15
}
Line 16... Line 16...
16
 
16
 
17
//############################################################################
17
//############################################################################
Line 20... Line 20...
20
//############################################################################
20
//############################################################################
21
{
21
{
22
 unsigned int i=0;  
22
 unsigned int i=0;  
23
 unsigned char sense;
23
 unsigned char sense;
24
  sense = ADMUX;   // Sense-Kanal merken
24
  sense = ADMUX;   // Sense-Kanal merken
25
  ADMUX  =  0x06;  // Kanal 6
25
  ADMUX  =  0x06 | IntRef;  // Kanal 6
26
  SFIOR  =  0x00;  // Analog Comperator aus
26
  SFIOR  =  0x00;  // Analog Comperator aus
27
  ADCSRA =  0xD3;  // Converter ein, single
27
  ADCSRA =  0xD3;  // Converter ein, single
28
  ADCSRA |= 0x10;  // Ready löschen
28
  ADCSRA |= 0x10;  // Ready löschen
29
  ADMUX  =  0x06;  // Kanal 6
29
  ADMUX  =  0x06 | IntRef;  // Kanal 6
30
  ADCSRA |= 0x40;  // Start
30
  ADCSRA |= 0x40;  // Start
31
  while (((ADCSRA & 0x10) == 0));
31
  while (((ADCSRA & 0x10) == 0));
32
  ADMUX = sense;   // zurück auf den Sense-Kanal
32
  ADMUX = sense;   // zurück auf den Sense-Kanal
33
  i = ADCW * 4;
33
  i = ADCW * 4;
34
//  if(i > 300) i = 300;
34
//  if(i > 300) i = 300;
Line 45... Line 45...
45
unsigned int MessAD(unsigned char channel)
45
unsigned int MessAD(unsigned char channel)
46
//############################################################################
46
//############################################################################
47
{
47
{
48
 unsigned char sense;
48
 unsigned char sense;
49
  sense = ADMUX;   // Sense-Kanal merken
49
  sense = ADMUX;   // Sense-Kanal merken
-
 
50
  channel |= IntRef;
50
  ADMUX  =  channel;  // Kanal 6
51
  ADMUX  =  channel;  // Kanal 6
51
  SFIOR  =  0x00;  // Analog Comperator aus
52
  SFIOR  =  0x00;  // Analog Comperator aus
52
  ADCSRA =  0xD3;  // Converter ein, single
53
  ADCSRA =  0xD3;  // Converter ein, single
53
  ADCSRA |= 0x10;  // Ready löschen
54
  ADCSRA |= 0x10;  // Ready löschen
54
  ADMUX  =  channel;  // Kanal 6
55
  ADMUX  =  channel;  // Kanal 6