Subversion Repositories BL-Ctrl

Rev

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

Rev 50 Rev 51
Line 37... Line 37...
37
  ADCSRA = 0x00;  
37
  ADCSRA = 0x00;  
38
  SFIOR = 0x08;  // Analog Comperator ein
38
  SFIOR = 0x08;  // Analog Comperator ein
39
}
39
}
Line -... Line 40...
-
 
40
 
40
 
41
 
41
 
42
 
42
//############################################################################
43
//############################################################################
43
//Strom Analogwerte lesen
44
//Strom Analogwerte lesen
44
void FastADConvert(void)
45
unsigned int MessAD(unsigned char channel)
45
//############################################################################
46
//############################################################################
46
{
47
{
47
 unsigned int i=0;  
48
 unsigned int i=0;  
48
 unsigned char sense;
49
 unsigned char sense;
49
  sense = ADMUX;   // Sense-Kanal merken
50
  sense = ADMUX;   // Sense-Kanal merken
50
  ADMUX  =  0x06;  // 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  =  0x06;  // Kanal 6
55
  ADMUX  =  channel;  // Kanal 6
55
  ADCSRA |= 0x40;  // Start
56
  ADCSRA |= 0x40;  // Start
-
 
57
  while (((ADCSRA & 0x10) == 0));
-
 
58
  ADMUX = sense;   // zurück auf den Sense-Kanal
-
 
59
  ADCSRA = 0x00;  
-
 
60
  SFIOR = 0x08;  // Analog Comperator ein
-
 
61
return(ADCW);
-
 
62
}
-
 
63
 
-
 
64
//############################################################################
-
 
65
//Strom Analogwerte lesen
-
 
66
void FastADConvert(void)
-
 
67
//############################################################################
-
 
68
{
-
 
69
 unsigned int i=0;  
56
  while (((ADCSRA & 0x10) == 0));
70
 unsigned char sense;
57
  ADMUX = sense;   // zurück auf den Sense-Kanal
71
  i = MessAD(6) * 4;
58
  i = ADCW * 4;
72
//  i = ADCW * 4;
59
  if(i > 200) i = 200;
73
  if(i > 200) i = 200;
60
  Strom = i;//(i + Strom * 1) / 2; 
74
  Strom = i;//(i + Strom * 1) / 2; 
61
  if (Strom_max < Strom) Strom_max = Strom;
75
  if (Strom_max < Strom) Strom_max = Strom;