Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA
Al .NEXT 2026 di Chicago, Nutanix ha mostrato quanto sia cambiata: una piattaforma software che gestisce VM, container e carichi di lavoro IA ovunque, dall’on-premise al cloud pubblico. Con un’esecuzione rapidissima sulle partnership e sulla migrazione da VMware
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta
Xiaomi Pad 8 Pro adotta il potente Snapdragon 8 Elite all'interno di un corpo con spessore di soli 5,75 mm e pannello LCD a 144Hz flicker-free, per un tablet che può essere utilizzato con accessori dedicati di altissima qualità. Fra le caratteristiche esclusive, soprattutto per chi intende usarlo con la tastiera ufficiale, c'è la modalità Workstation di HyperOS 3, che trasforma Android in un sistema operativo con interfaccia a finestre
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-06-2008, 18:10   #1
morrison81
Senior Member
 
L'Avatar di morrison81
 
Iscritto dal: Mar 2004
Città: milano
Messaggi: 397
[C] Leggere e scrivere su porta seriale

Ciao a tutti,

dopo alcuni giorni di imprecazioni provo a chiedere aiuto a voi
Dovrei fare un programmino per leggere e scrivere su una porta seriale, nella fattispecie leggere da una porta (mettiamo COM1), manipolare i dati e stampare su un'altra (mettiamo COM2).
Vorrei arrivare ad avere un file .exe da poter eseguire da qualunque pc, con le relative porte ovviamente.
Premetto che l'unico linguaggio nel quale riesco a muovermi un pò è il C, ho già fatto questo programma usando matlab solo che sostanzialmente non è "trasportabile".
Ho girato e rigirato il web, ma piuttosto che chiarirmi mi sono venuti solo dubbi, quindi comincio con un pò di domande :

- si può fare in C?
- riesco a fare il programma e farlo girare da una finestra del prompt di windows?
- avrei problemi se usassi un adattatore seriale su porta usb?

Ho trovato qualche esempio, ma mi sono ritrovato imbrigliato tra C e C++, e non conoscendo bene la differenza sono ancora più confuso
Volendo potrei usare anche C++, però non avendolo mai usato non vorrei complicarmi ancora di più la vita.
Spero possiate darmi qualche delucidazione, poi casomai se ho altri dubbi aggiungo in seguito.
Grazie a tutti!
Ciao
morrison81 è offline   Rispondi citando il messaggio o parte di esso
Old 03-06-2008, 18:37   #2
morrison81
Senior Member
 
L'Avatar di morrison81
 
Iscritto dal: Mar 2004
Città: milano
Messaggi: 397
In attesa di qualche pio aiuto aggiungo che sono riuscito a rifare quasi tutto il programma con python,
mi è sembrato molto semplice e simile al matlab.
Però il dubbio è lo stesso: sono riuscito anche a creare una cartella con l'exe e le
librerie, ma quanto è effettivamente "trasportabile"?
Qualcuno ha qualche esperienza in merito?
Grazie ancora.
Ciao
morrison81 è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2008, 15:57   #3
teox13
Member
 
L'Avatar di teox13
 
Iscritto dal: Jun 2008
Città: Verona
Messaggi: 68
Si, si può anche con il C.
Se utilizzi linux il dispositivo collegato alla seriale lo vede come un file.
Per windows è diverso. Esistono varie librerie che ti aiutano, potresti richiamare qualche comando assembler oppure provare a vedere la libreria libusb(utilizando un adattatore..io una volta l'ho provato e funzionava!)

Ciao!
teox13 è offline   Rispondi citando il messaggio o parte di esso
Old 09-06-2008, 23:00   #4
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da teox13 Guarda i messaggi
potresti richiamare qualche comando assembler
bummm...
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 11-06-2008, 22:15   #5
morrison81
Senior Member
 
L'Avatar di morrison81
 
Iscritto dal: Mar 2004
Città: milano
Messaggi: 397
Grazie a tutti e scusate per il ritardo... troppo lavoro

In realtà ho passato un altro paio di giorni a smanettare ma poi mi sono rotto le scatole e sono passato a python: mai usato ma mi sono trovato
benissimo ed ha gli stessi principi del matlab. Tra l'altro ho fatto anche un po di prove di "portabilità" e pare che su tre pc differenti funzioni senza
problemi a differenza del matlab.
Anzi, chiederei ai moderatori se possibile, di cambiare il linguaggio nel titolo, grazie.
Vi posto il codice

Codice:
import serial
import msvcrt
ser = serial.Serial(4)  #open first serial port
ser.timeout=None
ser1 = serial.Serial(0)
ckk="v"
ckk1="v"


print ser.portstr       #check which port was realy used
print ser1.portstr       #check which port was realy used
print "Premi un tasto per iniziare la simulazione"
a=msvcrt.getch()

while ckk1!="q":
  
    while ckk!="t":
        ser.flushInput()
        print "LEGGI DA PORTA SERIALE"
        code=ser.read(13)
        .
        .
        .altre operazioni in mezzo
        .
        .
        ser1.write(code)
        print "Premi un tasto per continuare o T per uscire"
        ckk=msvcrt.getch()

    ckk="v"    
    print "ciao"
    print "premi un tasto per ricominciare la simulazione o Q per uscire"
    ckk1=msvcrt.getch()

ser.close()             #close port
ser1.close()             #close port

Adesso avrei un ultimo problema, vorrei fare il ciclo while in modo che si interrompa quando premo t o un tasto qualsiasi, il classico repeat until keypressed
senza dover ogni volta premere un tasto al termine del while.

Per ora sono riuscito solo a fare un while così

Codice:
while not (msvcrt.kbhit() and msvcrt.getch() == "t"):
e settando un timeout sulla lettura in modo da non far bloccare il ciclo nel caso non legga da porta seriale. Il problema è che quando supero
il timeout perdo dal monitor tutte le informazioni perchè il cursore comincia a scorrere.
Grazie a tutti.
Ciao!
morrison81 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Addio cavi perimetrali: il robot tosaerb...
Google Pixel 10 oggi proposto a soli 549...
I robot di Boston Dynamics possono inter...
Tech, gadget e accessori a meno di 5€ su...
Ford riorganizza la divisione elettrica:...
Elon Musk trasforma xAI in fornitore di ...
Pirateria musicale: batosta record per A...
iRobot riparte: nuova era con Picea, Roo...
Bitcoin: Killing Satoshi, film sul miste...
Haier Mini LED 4K da 65 pollici a soli 5...
Windows, come nascondere tutte le finest...
Meta 'svuota' la startup di Mira Murati:...
Nuvacore: gli ex Nuvia e Qualcomm rilanc...
Verifica dell'età online, Ursula ...
Snap licenzia il 16% dei dipendenti: sar...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:35.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v