Arduino Forum

International => Deutsch => Topic started by: 13579 on Mar 20, 2012, 07:18 am

Title: Wire und SoftwareSerial libraries Funktionieren nicht miteinander in Arduino 1.0
Post by: 13579 on Mar 20, 2012, 07:18 am
Hallo,

ich habe folgendes Problem die Wire und Softserial libraries funktionieren nicht zusammen. In der Konfiguration ist noch das S65Shield das läuft mit den beiden Libraries, wenn ich die libraries einzeln benutze. Das äussert sich so als wenn ständig Interrupts ausgeführt werden oder wie Resets. Die Schrift im Display flackert nur noch. Hat damit schon jemand Erfahrung gemacht ? Das Problem eventuell gelöst ?
Title: Re: Wire und SoftwareSerial libraries Funktionieren nicht miteinander in Arduino 1.0
Post by: madworm on Mar 20, 2012, 09:22 pm
Chaotisches verhalten klingt nach RAM ueberlauf.

Hast du den text in den print statements auch brav mit F(...) eingekastelt?
Title: Re: Wire und SoftwareSerial libraries Funktionieren nicht miteinander in Arduino 1.0
Post by: uwefed on Mar 20, 2012, 11:04 pm
Bringt mir die Kristallkugel.
Title: Re: Wire und SoftwareSerial libraries Funktionieren nicht miteinander in Arduino 1.0
Post by: 13579 on Mar 21, 2012, 07:28 am
Hi,

ein Danke an euch, ich habe den Code mehmals geändert was ich herausgefunden habe ist. Wenn ich den Code wie folgt ändere läufts. Hat zwar vorher auch gelaufen in der Form aber naja gibt immer eine Überraschung.

Vorher
Quote
void clock(int x, int y, const int TimeZone) //Day Month Year x,y,TimeZone
      {
      char* DayOfWeek[] = { 0, "Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag" };// DayofWeek
      char strclock[26];
      int size = 0 ;
      sprintf(strclock, "%s, %2.2d.%2.2d.20%2.2d %2.2d:%2.2d:%2.2d", DayOfWeek[RTC.getDayOfWeek()], RTC.getDate(),RTC.getMonth(), RTC.getYear(), RTC.getHours()+TimeZone, RTC.getMinutes(), RTC.getSeconds()); //Anzeigeformat Wochentag, Monat, Datum und Uhrzeit
      size = strlen(strclock)/2;
      lcd.drawText(x-size, y,(strclock), 1, RGB( 0, 0, 0), RGB(  255,  255,  0));
      }


Nachher
Quote
void clock(int x, int y, const int TimeZone) //Day Month Year x,y,TimeZone
      {
      char strclock[26];
      int size = 0 ;
      sprintf(strclock, "%2.2d.%2.2d.20%2.2d %2.2d:%2.2d:%2.2d", RTC.getDate(), RTC.getMonth(), RTC.getYear(), RTC.getHours()+TimeZone, RTC.getMinutes(), RTC.getSeconds()); //Anzeigeformat Wochentag, Monat, Datum und Uhrzeit
      size = strlen(strclock)/2;
      lcd.drawText(x-size, y,(strclock), 1, RGB( 0, 0, 0), RGB(  255,  255,  0));
      }