Forum: Mikrocontroller und Digitale Elektronik Arduino - Kommunikation über USB per C-Programm


von R. B. (dxx255)


Lesenswert?

Hallo
Ich möchte Daten uber die serielle Verbindung zu einem Arduino Uno 
senden.
Ich habe dazu ein C Programm geschrieben. Allerdings funktioniert es 
nicht und ich weiß nicht wieso! Am Arduino blinkt die Lampe (ich glaube, 
dass das bedeutet, dass die serielle Kommunikation funktioniert) 
allerdings verarbeitet er die Daten nicht. Ich weiß, dass es nicht am 
Arduino Programm liegt, denn wenn ich die Daten im Serial Monitor der 
Arduino Software eingebe, funktioniert es perfekt!
Hier der Code
1
#include <stdio.h>
2
#include <stdlib.h>
3
#include <string.h>
4
int main(int argc,char *argv[]){
5
        if(argc<2){
6
                printf("Usage: %s code\n",argv[0]);
7
                return 0;
8
        }
9
        char *code=malloc(strlen(argv[1])+1);
10
        strcpy(code,argv[1]);
11
        strcat(code,"#");
12
        FILE *file;
13
        file = fopen("/dev/ttyACM0","w");  //Opening device file
14
        fprintf(file,"%s",code); //Writing to the file
15
        fclose(file);
16
        return 0;
17
}
Bitte um Hilfe

von Kein Name (Gast)


Lesenswert?

strlen(argv[1])+2 erscheint mir sinnvoller.
Für das '#' und dann noch das 0-Byte am Ende des Strings.

von R. B. (dxx255)


Lesenswert?

Danke für den Tipp.
Das ist korrekt allerdings funktioniert es immer noch nicht!

von thomas (Gast)


Lesenswert?

Überprüfe ob du überhaupt öffnen kannst
1
if (file!=NULL)
2
{
3
  fprintf(file,"%s",code); //Writing to the file  
4
  fclose(file);
5
}
6
else printf("ERROR")

von Shee2e (Gast)


Lesenswert?

Hallo, irgendwelche Fehlermeldungen in der Konsole?
Gibt es bei dieser Schnittstelle einstellungen wie Baudrate etc.?
Vielleicht sind diese einstellungen falsch. Könntest du die 
Schnittstelle zum Lesen öffnen und halt Testdaten senden lassen.
MfG
Shee2e

von Kein Name (Gast)


Lesenswert?

Hmmm... würde das Progamm mit strace starten und schauen, ob da 
irgendetwas seltsames geloggt wird.

von R. B. (dxx255)


Lesenswert?

Ich hab zwar keine Ahnung warum, aber jetzt gehts plötzlich!
Danke für eure Hilfe

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.