Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
ASUS Expertbook PM3: il notebook robusto per le aziende
ASUS Expertbook PM3: il notebook robusto per le aziende
Pensato per le necessità del pubblico d'azienda, ASUS Expertbook PM3 abbina uno chassis particolrmente robusto ad un pannello da 16 pollici di diagonale che avantaggia la produttività personale. Sotto la scocca troviamo un processore AMD Ryzen AI 7 350, che grazie alla certificazione Copilot+ PC permette di sfruttare al meglio l'accelerazione degli ambiti di intelligenza artificiale
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo
Abbiamo provato per diversi giorni una new entry del mercato italiano, la Gowow Ori, una moto elettrica da off-road, omologata anche per la strada, che sfrutta una pendrive USB per cambiare radicalmente le sue prestazioni
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-06-2008, 19: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, 19: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, 16: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 10-06-2008, 00: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, 23: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


Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
Recensione OnePlus 15: potenza da vendere e batteria enorme dentro un nuovo design   Recensione OnePlus 15: potenza da vendere e batt...
AMD Ryzen 5 7500X3D: la nuova CPU da gaming con 3D V-Cache per la fascia media AMD Ryzen 5 7500X3D: la nuova CPU da gaming con ...
Obbligati ad acquistare una scheda madre...
GTA VI su PC? La data non c'è, ma...
Monopattini elettrici, a un anno dal dec...
Tesla Robotaxi, autista di sicurezza si ...
Samsung Galaxy S26: svelate le combinazi...
Microsoft Ignite: arriva Edge for Busine...
OPPO e Lamine Yamal uniscono sport e tec...
Microsoft, NVIDIA e Anthropic siglano un...
SpaceX potrebbe comunicare alla NASA rit...
Scoperte cavità sotterranee scava...
OnePlus anticipa l'arrivo di due nuovi p...
DJI lancia Osmo Action 6: la prima actio...
NASA: conferenza stampa sulla cometa int...
Ex CEO di TSMC passa a Intel: aperta un'...
Gigabyte X870E Aorus Elite X3D, una moth...
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: 05:53.


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