Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Il primo Micro RGB di Samsung per il salotto è il 65 pollici da 2.749 euro. Sul banco di misura abbiamo rilevato 2.000 nit di picco, nero assoluto con il local dimming e il 91,4% del BT.2020, il colore più ampio che abbiamo misurato su un LCD
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
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


Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Il Dipartimento della Guerra USA pensa a...
SpaceX ha lanciato le missioni Crew-13, ...
DJI Avata 2 in offerta Prime: drone FPV ...
Microsoft vuole far agire l'IA prima anc...
Ginga porta il monitoraggio delle perfor...
Tesla sorprende Wall Street: 486.532 con...
Cosa succede alle ossa degli astronauti ...
AgriEuro Premium Days: il 6 e 7 ottobre ...
259 euro per 2 TB di SSD PCIe 4.0 (Biwin...
GPT-6 Astra decifra dopo 217 anni una le...
Roborock Saros 20 Neo: pulisce al meglio...
Samsung Galaxy S27 Ultra, nuove conferme...
Offerte Prime Candy: lavatrice ProWash 3...
Tegola su Anthropic, gli agenti AI valgo...
E-bike in carbonio con un prezzo assurdo...
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: 22:01.


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