tiny45 ADC3 immer Null

Gast #1711165
Lesenswert?
• ▲
▼
ATtiny45
8 MHz int. osc.
Vcc = 2,8 V

Uref = Vcc
U_ADC3 = 2,2 V

Ich komm nicht drauf - was läuft hier falsch?
1
void temp_init(void)
2
{
3
  DIDR0 = (1<<ADC3D);          // disable digital
4
  ADCSRA = (1<<ADEN) 
5
      | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0);
6
  ADMUX = 3;            // select pin, Vcc as reference
7
  ADCSRA |= (ADSC);          // start conversion
8
  while (ADCSRA & (1<<ADSC) );    // wait until completed
9
  int16_t discard = ADC;        // 10 bit value
10
}
11

12
int16_t temp_get(void) 
13
{
14
  ADCSRA |= (ADSC);          // start conversion
15
  while (ADCSRA & (1<<ADSC) );    // wait until completed
16
  return (ADC);            // 10 bit value
17
}
18

19
.......
20

21
while(1)
22

23
  {
24

25
    _delay_ms( 500 );
26

27
    
28

29
    tmp = temp_get();
30

31
    itoa(tmp, buffer, 10);
32

33
    LCD_WriteString(8, 3, buffer);
34
...............

tmp auf einen Wert gesetzt bewirkt erwartungsgemäße Ausgabe.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.