Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Pannello QD-OLED da 32 pollici con risoluzione 4K, frequenza di aggiornamento a 240Hz e tempi di risposta rapidissimi: il Gigabyte MO32U24 evolve il progetto del suo predecessore MO32U e alza ulteriormente l'asticella delle prestazioni. È ancora una volta un monitor indirizzato ai giocatori più esigenti
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
realme 16 5G è un nuovo smartphone con sensore Sony IMX 852 da 50MP sul retro e uno specchio selfie fisico integrato nella camera bar, una prima nel segmento di mercato. Batteria da 6550mAh in un corpo da 8,1mm e 183g, certificazione IP69K e ricarica da 45W completano un pacchetto aggressivo per la fascia media, per uno dei prodotti più interessanti del produttore sul piano commerciale
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Sono ormai definitive le nuove norme del Codice della Strada per i monopattini elettrici. Non solo targa e assicurazione, le regole sono tante e riguardano diversi aspetti, vi spieghiamo come evitare sanzioni che possono essere salate
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-03-2010, 17:01   #1
sado93
Junior Member
 
Iscritto dal: Mar 2010
Messaggi: 20
[C] comunicazione seriale rs232

Ciao a tutti. Sono nuovo del forum, quindi scusatemi se non posto nella sezione giusta.
allora mi spiego: io dovrei creare un programma in c o c++ che mi invii un carattere ascii o un numero binario da 8 bit tramite la porta seriale, senza bit di parità, senza handshake e se possibile anche senza bit di stop, quindi 8 bit puliti. La velocità di trasmissione mi servirebbe la più bassa possibile. Ho cercato su google se esiste qualche libreria o qualche guida ma senza successo. Uso windows 7, come compilatore invece Dev C++.

Ultima modifica di sado93 : 10-03-2010 alle 17:04.
sado93 è offline   Rispondi citando il messaggio o parte di esso
Old 10-03-2010, 22:28   #2
Marinelli
Senior Member
 
L'Avatar di Marinelli
 
Iscritto dal: Aug 1999
Città: Tolmezzo (UD) - Milano
Messaggi: 13744
Benvenuto sul forum.

Ti sposto nella sezione dedicata alla programmazione.

Ciao!
__________________
...to go where no one has gone before.
One ring to rule them all, one ring to find them, one ring to bring them all and in darkness bind them.
Caron, non ti crucciare: vuolsi così colà dove si puote ciò che si vuole, e più non dimandare.
Marinelli è offline   Rispondi citando il messaggio o parte di esso
Old 10-03-2010, 23:29   #3
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
butta Dev-C++ e usa Visual C++ 2008 Express, oppure la RC della versione 2010.

per comunicare con la seriale devi usare le Communications Resources: http://msdn.microsoft.com/en-us/libr...96(VS.85).aspx

C e C++ non forniscono librerie standard per comunicare con la seriale.

PS: grazie per aver specificato sistema operativo e compilatore, anche se il compilatore era farlocco
é una cosa piuttosto rara da queste parti.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 10-03-2010, 23:30   #4
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
altra cosa, sei obbligato ad usare C o C++? in Visual C# sarebbe molto piu semplice.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2010, 12:33   #5
deviato
Member
 
Iscritto dal: Feb 2008
Messaggi: 70
Mi ricordo che alle superiori mi fecero fare un programma del genere inglobando una parte di listato in assembler. Mi pare si dovesse iniziare con qualcosa del tipo _asm e poi una serie di interrupt.. eheh alla fine riuscivamo a fare il DIR su un'altra macchina della rete.. A quei tempi sembrava una cosa da fantascenza.. Se lo trovo te lo posto però non so se Dev-C++ farà problemi.. a quei tempi girava il QC..
deviato è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2010, 13:55   #6
sado93
Junior Member
 
Iscritto dal: Mar 2010
Messaggi: 20
intanto grazie per le risposte!!!!!

Quote:
Originariamente inviato da fero86 Guarda i messaggi
butta Dev-C++ e usa Visual C++ 2008 Express, oppure la RC della versione 2010.

per comunicare con la seriale devi usare le Communications Resources: http://msdn.microsoft.com/en-us/libr...96(VS.85).aspx

C e C++ non forniscono librerie standard per comunicare con la seriale.

PS: grazie per aver specificato sistema operativo e compilatore, anche se il compilatore era farlocco
é una cosa piuttosto rara da queste parti.
.....ho specificato perchè mi sembrava importante...


Quote:
Originariamente inviato da fero86 Guarda i messaggi
altra cosa, sei obbligato ad usare C o C++? in Visual C# sarebbe molto piu semplice.
il problema è che Visual C# non lo so utilizzare....



Non è che qualcuno sarebbe cosi gentile da postare un pezzo di codice con una minima spiegazione???
sado93 è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2010, 16:33   #7
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
ti avverto, in Visual C# sarebbe di un semplicitá imbarazzante!!
si tratta di usare la classe SerialPort nel namespace System.IO.Ports. to', c'é anche l'esempio giá pronto
http://msdn.microsoft.com/en-us/libr...erialport.aspx


se sei assolutamente determinato col C++ tanto per cominciare auguri , poi dovresti aprire un HANDLE che identifica la porta passando certi parametri alla CreateFile, trovi tutti i dettagli al paragrafo "Communications Resources" della documentazione di CreateFile: http://msdn.microsoft.com/en-us/libr...58(VS.85).aspx

poi per settare le impostazioni di comunicazione devi usare SetCommState e SetupComm: http://msdn.microsoft.com/en-us/libr...36(VS.85).aspx
http://msdn.microsoft.com/en-us/libr...39(VS.85).aspx

poi trasmetti i dati chiamando WriteFile, ed infine chiudi l'HANDLE con CloseHandle.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2010, 19:40   #8
sado93
Junior Member
 
Iscritto dal: Mar 2010
Messaggi: 20
Grazie! Appena ho 2 minuti provo.
sado93 è offline   Rispondi citando il messaggio o parte di esso
Old 11-03-2010, 19:54   #9
sado93
Junior Member
 
Iscritto dal: Mar 2010
Messaggi: 20
madonna ooooo ....hai ragione!!!!!.....figata sto visual C#!!!!
ancora una domanda....in rete ho trovato questo codice. Volevo chiedere il baud rate minimo che posso impostare qual'è????
Codice:
void Button1Click(object sender, EventArgs e)
{
//configuring the serial port
serialPort1.PortName="COM1";
serialPort1.BaudRate=9600;
serialPort1.DataBits=8;
serialPort1.Parity=Parity.None;
serialPort1.StopBits= StopBits.One;

//opening the serial port
serialPort1.Open();

//write data to serial port
serialPort1.Write("ABC");

//close the port
serialPort1.Close();

}
sado93 è offline   Rispondi citando il messaggio o parte di esso
Old 12-03-2010, 08:28   #10
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da sado93 Guarda i messaggi
Volevo chiedere il baud rate minimo che posso impostare qual'è????
Il baud rate (bits per secondo) minimo che puoi impostare è il baud rate minimo supportato dalla porta seriale E dalla periferica/device dall'altra parte, che riceve i dati.

Per scoprire quali baud rate siano supportati dalla porta, basta che vai (in Windows) in Gestione Periferiche a vedere le proprietà della porta (vedi link). Immagino tu possa anche scoprirlo programmaticamente, ovvero ci sarà una qualche classe/metodo nella libreria di C# che ti permette di ottenere queste informazioni.

L'importante è che usi un baud rate che sia supportato da entrambi i "capi" della comunicazione.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)

Ultima modifica di banryu79 : 12-03-2010 alle 08:31.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 12-03-2010, 16:32   #11
sado93
Junior Member
 
Iscritto dal: Mar 2010
Messaggi: 20
un altra cosa, spero l'ultima , per la trasmissione con il codice sopra riportato si utilizza solo il pin 3(transmit data), oltre alla masa. Giusto o mi sbaglio?
sado93 è offline   Rispondi citando il messaggio o parte di esso
Old 12-03-2010, 16:54   #12
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da sado93 Guarda i messaggi
un altra cosa, spero l'ultima , per la trasmissione con il codice sopra riportato si utilizza solo il pin 3(transmit data), oltre alla masa. Giusto o mi sbaglio?
Il codice sopra riportato non c'entra assolutamente niente con i meccanismi fisici con cui è implementata la comunicazione...

Non conosco i dettagli di funzionamento e le funzioni dei singoli pin di una porta seriale, quindi io non ti so rispondere, ma se hai dei dubbi prova a cercare qualche info specifica con Google.
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2010, 07:03   #13
sado93
Junior Member
 
Iscritto dal: Mar 2010
Messaggi: 20
nessuno sa che pin vengono utilizzati?
sado93 è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2010, 10:08   #14
s0nnyd3marco
Senior Member
 
L'Avatar di s0nnyd3marco
 
Iscritto dal: Aug 2006
Città: Trieste
Messaggi: 5620
Quote:
Originariamente inviato da sado93 Guarda i messaggi
nessuno sa che pin vengono utilizzati?
Qua hai tutte le info necessarie (più molte superflue):
http://it.wikipedia.org/wiki/EIA_RS-232
Nella mia esperienza ti posso dire che la maggior parte dei DCE (modem 56k esclusi) utilizzano solamente 3 pin, che sul connettore db-9 sono il 2(Rx) il 3(Tx) e il 5(Gnd).
PS: occhio a quando saldi il conettore: controlla che i pin lato DTE riportati sul manuale indichino se Rx e Tx siano riferiti al DTE o DCE.
__________________
You should never let your fears become the boundaries of your dreams.
s0nnyd3marco è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming Gigabyte MO32U24 OLED: il 4K a 240Hz su un panne...
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Grazie a GLIMPSE-17775 il telescopio spa...
Samsung Galaxy A27 5G è ufficiale...
TCL aggiorna la sua gamma di monitor per...
Anche OPPO avrà uno smartphone co...
La Radeon RX 9070 XT appare su Steam e m...
L'America si ribella ai datacenter: bloc...
'Artificial General Engineer': l'IA di J...
Il drone NASA Dragonfly, che voler&agrav...
Stop immediato a Fable 5 e Mythos 5: il ...
"Prime Day Amazon il 23-26 giugno": sì e...
Oggi 2 super MacBook Pro M5 e M5 Pro, 24...
Tineco Floor One Station S9 Artist: il s...
Raggiunte nuove altitudine e velocit&agr...
Apple Watch Series 11 GPS a 339€ su Amaz...
Come un MacBook, ma con la RTX 5070: MSI...
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: 19:00.


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