Forum: Mikrocontroller und Digitale Elektronik myTWI Echtzeituhr (ds1307 Ausgabe LCD)


von Benjamin S. (tenmx)


Lesenswert?

Hallo zusammen,

besitze das myAVR MK2 Board mit folgenden Modulen: myTWI Echtzeituhr und 
myAVR LCD. Bin schon länger damit beschäftigt die Uhrzeit auf dem LCD 
auszugeben, aber bisher ohne großen Erfolg. Kann irgendwelche komischen 
Werte auslesen ... die aber nicht viel Sinn ergeben. Beispielsweise 
bekomme ich für die Minuten immer ein festen Wert der sich nie ändert. 
Hoffe ihr könnt mir bei meinem Problem weiterhelfen. ;)

MfG Benjamin

Anbei der Quellcode:
1
#include <stdio.h>
2
#include <avr/interrupt.h>
3
#include <stdlib.h>
4
5
#include "Delay.h"
6
#include "TWI_Master.h"
7
#include "lcd.h"
8
9
int main (void)
10
{ 
11
  char     LCD_Buffer[20];
12
  uint8_t  Slaveaddress_Time = 104;   // entspricht: Slaveadresse: 0xD1
13
  char     minuten;  
14
  
15
  // LCD Initialisierung 
16
  _delay_ms(200);
17
  lcd_init();
18
  lcd_clear();
19
  lcd_home();
20
21
  // Wait 1 second for POR (Power on Reset)
22
  Delay_ms (1000);
23
24
  if (!TWIM_Init (50000))    // 50 kHz einstellen  
25
  {
26
    // Error in initiating TWI interface
27
    while (1);
28
  }
29
30
  // Endlosschleife
31
  while (1)
32
  {
33
    TWIM_Start (Slaveaddress_Time, TWIM_WRITE);
34
    TWIM_Write (1);
35
    TWIM_Stop ();
36
    TWIM_Start (Slaveaddress_Time, TWIM_READ);
37
    minuten = TWIM_ReadNack();
38
    TWIM_Stop ();    
39
  
40
    lcd_home();
41
    itoa( minuten , LCD_Buffer, 10 );
42
    lcd_write_s( LCD_Buffer);
43
    lcd_write_s(" Minuten");
44
45
    Delay_ms (2000);
46
  }
47
  return 0;
48
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.