Go Down

Topic: MAC serielles Problem... (Read 2029 times) previous topic - next topic

buddhafragt

Hallo zusammen,
mein erstes posting hier... :-)

Bin Anfänger mit Arduino und habe das DateTime Beispiel Sketch ausprobiert, tagelang rumprobiert, die Zeit lässt sich mit dem Processing Sketch nicht aktualisieren, auch über den Serial Monitor gehts nicht. Arduino UNO stürzt ab. Nun habe ich mal einen Test mit einem Win XP Rechner gemacht. Geht auch nicht... ABER NACH NEUEM PROGRAMMUPLOAD ÜBER XP: Läuft..!
Auch auf dem MAC.
Programm noch mal mit MAC geflasht: Selber Fehler.
Ansonsten läuft es aber, auch keine Fehlermeldung beim upload.
Was ist das???
Ich weiß nicht mehr weiter...  :-/

Gruß
Michael

uwefed

Hast Du im IDE das richtige board eingestellt?
Grüße Uwe

buddhafragt

Ja,
richtiges Board, richtige schnittstelle...

Sag bitte nicht MAC wenn du Mac(intosh) meinst, das ist ein riesen unterschied und führt zur Verwirrung.

apogee

#4
Jan 17, 2011, 06:37 pm Last Edit: Jan 17, 2011, 06:37 pm by saw0 Reason: 1
Quote
Sag bitte nicht MAC wenn du Mac(intosh) meinst, das ist ein riesen unterschied und führt zur Verwirrung.


Wenn man sich richtig blöd stellt, führt auch dein Name zu Verwirrung, weil man sich fragt ob du einen Wischmopp meinst.

Sicher wäre OSX besser, aber wegen sowas hier reinzuposten...

uwefed

Ich glaube manchemal können Diskussionsbeiträge gespart werden weil sie nichts für die Diskussion bringen.
Dein letzter Beitrag, apogee gehört zu dieser Kategorie.  ;)
Grüße Uwe  

uwefed

hallo buddhafragt

Ich tippe da mehr auf eine Programmfehler den Du in der MÄC - Version des Sketches hast, aber nicht in der WinVersion des Sketches.
Sind die beiden Sketch-Versionen wirklich 100% gleich? Gleiche IDE-Version und Bibliotheken?
Schick uns mal bitte den MÄC - Sketch.  ;)

Grüße Uwe

buddhafragt

Ja, mache ich doch gern, aber ist wirklich nur die unveränderte Demo-Datei.... kann man hier eigentlich auch eine Datei anhängen, oder geht das immer nur über copy/past????

// DateTime.pde
// example sketch for the DateTime library

#include <DateTime.h>
#include <DateTimeStrings.h>

#define TIME_MSG_LEN  11   // time sync to PC is HEADER followed by unix time_t as ten ascii digits
#define TIME_HEADER  255   // Header tag for serial time sync message

void setup(){
 Serial.begin(19200);
 pinMode(13,OUTPUT); // we flash the LED each second
}

void  loop(){
 unsigned long  prevtime;
 if( getPCtime()) {  // try to get time sync from pc
   Serial.print("Clock synced at: ");
   Serial.println(DateTime.now(),DEC);
 }
 if(DateTime.available()) { // update clocks if time has been synced
   digitalWrite(13,LOW);  // first flash the LED
   prevtime = DateTime.now();
   while( prevtime == DateTime.now() )  // wait for the second to rollover
       ;
   DateTime.available(); //refresh the Date and time properties
   digitalClockDisplay( );   // update digital clock

   // send our time to any app at the other end of the serial port
   Serial.print( TIME_HEADER,BYTE); // this is the header for the current time
   Serial.println(DateTime.now());
   digitalWrite(13,HIGH);
 }
 delay(100);
}

boolean getPCtime() {
 // if time sync available from serial port, update time and return true
 while(Serial.available() >=  TIME_MSG_LEN ){  // time message consists of a header and ten ascii digits
   if( Serial.read() == TIME_HEADER ) {        
     time_t pctime = 0;
     for(int i=0; i < TIME_MSG_LEN -1; i++){  
       char c= Serial.read();          
       if( c >= '0' && c <= '9'){  
         pctime = (10 * pctime) + (c - '0') ; // convert digits to a number    
       }
     }  
     DateTime.sync(pctime);   // Sync Arduino clock to the time received on the serial port
     return true;   // return true if time message received on the serial port
   }  
 }
 return false;  //if no message return false
}

void digitalClockDisplay(){
 // digital clock display of current date and time
 Serial.print(DateTime.Hour,DEC);
 printDigits(DateTime.Minute);
 printDigits(DateTime.Second);
 Serial.print(" ");
 Serial.print(DateTimeStrings.dayStr(DateTime.DayofWeek));
 Serial.print(" ");
 Serial.print(DateTimeStrings.monthStr(DateTime.Month));
 Serial.print(" ");
 Serial.println(DateTime.Day,DEC);
}

void printDigits(byte digits){
 // utility function for digital clock display: prints preceding colon and leading 0
 Serial.print(":");
 if(digits < 10)
   Serial.print('0');
 Serial.print(digits,DEC);
}


apogee

#8
Jan 20, 2011, 08:25 am Last Edit: Jan 20, 2011, 08:26 am by saw0 Reason: 1
Quote
kann man hier eigentlich auch eine Datei anhängen, oder geht das immer nur über copy/past????


Man kann sie zumindest so formatieren, dass man sie lesen kann.

IDE - Rechtsklick - Copy for Forum


const int ledPin = 13; // the pin that the LED is attached to
int incomingByte;      // a variable to read incoming serial data into

void setup() {
  // initialize serial communication:
  Serial.begin(9600);
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // see if there's incoming serial data:
  if (Serial.available() > 0) {
    // read the oldest byte in the serial buffer:
    incomingByte = Serial.read();
    // if it's a capital H (ASCII 72), turn on the LED:
    if (incomingByte == 'H') {
      digitalWrite(ledPin, HIGH);
    } 
    // if it's an L (ASCII 76) turn off the LED:
    if (incomingByte == 'L') {
      digitalWrite(ledPin, LOW);
    }
  }
}

Go Up