Simulazione dati scrittura/lettura COM.

Sto simulando un programma che scriva i dati di una pesa sulla COM.

Ho scritto

  1. Un programma che gira in arduino e che scrive valori numerici random sulla COM ( ok, questo è fatto)

  2. Lo carico e lo faccio eseguire ( attraverso monitor porta seriale vedo i dati )

  3. Apro la porta COM3 con altri programmi per leggere i dati ma non riesco perchè la porta risulta occupata. (es. Serial Port Monitor )

Qualcuno mi potrebbe dire se si può fare una simulazione di questo tipo o proprio sto sbagliando argomento.

Scusate la domanda banale ma è la prima volta che mi trovo a integrare dati in gestionali ERP.

Grazie in anticipo

Buongiorno,
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione tutto il su citato REGOLAMENTO ... Grazie. :slight_smile:

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink:

Ciao,

Se stai impegnando la Serial con il monitor seriale non puoi usarla in altre applicazioni. Devi o rinunciare al monitor seriale o, a seconda dell'arduino che usi, abilitare le altre Serial (Arduino mega) oppure creare delle software serial con apposita libreria... I pin gestibili li trovi nelle specifiche della scheda stessa.

erano semplicemente i programmi di lettura porta che non funzionavano ( non so se perchè versione trial ).
E' stato sufficiente un programmino in python

import serial

ser = serial.Serial(
port='COM3',
baudrate=9600,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,
timeout=0)

print("connected to: " + ser.portstr)
count=1

while True:
for line in ser.read():

print(str(count) + str(': ') + chr(line) )
count = count+1

ser.close()