ciao a tutti, ho un sensore collegato ad arduino che restituisce dei valori. Con la Serial.write li vedo nel monitor seriale ma avrei bisogno di tali dati su un programma C quindi ho scritto il seguente codice:
#include <stdio.h> #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h>
int main()
{
int file = open("/dev/tty.usbmodem1429",O_RDWR | O_NOCTTY | O_NDELAY); //Opening device file
long i = 0;
long v=0;
qui le pinout delle varie schede by xxxPighi: Pinout
qui una serie di link generali utili: Link Utili
Il codice devi racchiuderlo nei tag code, vedi sezione 7 del regolamento, spiega bene come fare.
Altrimenti parte del codice può essere visualizzata male o mancare perchè interpretato come attributo del testo stesso.
ok scusate se non avevo seguito bene il regolamento, comunque il codice in C deve soltanto stamparmi i risultati su terminale poi successivamente li salverò in una struttura a lista...ma per ora voglio solo stamparli.
Ri-posto il codice poiché ieri sera ho fatto degli aggiornamenti (minimi)
il codice C è:
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main()
{
int file = open("/dev/tty.usbmodem1429",O_RDWR | O_NOCTTY | O_NDELAY); //Opening device file
long i = 0;
long v=0;
while(1){
read(file, &v, 1);
printf("%lu\n",v);
//sleep(1);
}
close(file);
}
cesare9488:
si avevo capito che erano ascii ma il punto e che non so come ottenere i numeri che mi servono...
avevo capito che avevi capito, ma non hai capito che in sostanza non stai mandando niente!
Come aprire un file di testo e tenere premuto invio, il cursore si sposta in basso ... ma non scrivi niente, in realtà non li vedi i char ma se lo analizzassi troveresti 13-10