Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
A New York HP ha messo al centro della scena HP IQ, la piattaforma di IA locale da 20 miliardi di parametri. L’abbiamo vista in funzione: è uno strumento che funziona, pensato per un target specifico, con vantaggi reali e limiti altrettanto evidenti
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
La PNY GeForce RTX 5080 Slim OC si distingue nel panorama delle GPU di fascia alta per il design compatto a due slot, ispirato alla NVIDIA GeForce RTX 5080 Founders Edition. In questo test analizziamo comportamento termico e prestazioni in gioco, valutando se il formato ridotto comprometta o meno l'esperienza complessiva rispetto alle soluzioni più ingombranti presenti sul mercato.
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
HUAWEI WiFi Mesh X3 Pro Suite è probabilmente il router mesh più fotogenico che si possa acquistare oggi in Italia, ma dietro il guscio in acrilico trasparente e le luci LED dinamiche c'è una macchina tecnica costruita attorno allo standard Wi-Fi 7, con velocità teoriche Dual-Band fino a 3,6 Gbps e una copertura fino a 120 m² una volta abbinato il router principale all'extender incluso nel kit
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-10-2007, 21:11   #1
lukayak
Junior Member
 
Iscritto dal: Oct 2007
Messaggi: 1
RS232 lettura con C++

Ciao a tutti, ho un problema
ho un problema con un programma scritto in C++. il progetto che ho preso dalla rete(con consenso dell'autore) aveva un ingresso da porta parallela.
Vorrei tramutarla in in gresso RS232 dalla COM1. Ho modificato cosi il codice in modo che il dato che veniva preso dalla parallela ora viene preso dalla com1, peccato che devo aver sbagliato qualcosa, perchè non funziona.

Ecco il codice di uno dei file del progetto, quello nel quale ho cambiato le varie cose.

// MCP3002.cpp: implementation of the MCP3002 class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "MCP3002.h"
#include "MultimediaTimer.h"
#include "ADC3002.h"


#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif


//_________________________________________

//Delcare out timer function
//Function must be static
static void TimerFunction(void* obj,UINT idEvent);

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

MCP3002::MCP3002()
{ //inizializzazione membro privato.
hComm = CreateFile("COM1", //porta sorgente dati
GENERIC_READ,//solo in lettura
0,//handle non condiviso
0, //
OPEN_EXISTING,//
FILE_FLAG_OVERLAPPED,//
0);
if (hComm == INVALID_HANDLE_VALUE)exit(1);
// error opening port; abort
DCB dcb;
BOOL res;

dcb.ByteSize = 8;
dcb.StopBits =ONESTOPBIT;
dcb.BaudRate = CBR_9600;
dcb.Parity = NOPARITY;
dcb.fAbortOnError = 0;
//Set new state
res = SetCommState(hComm,&dcb);
}

MCP3002::~MCP3002()
{
if (hComm != INVALID_HANDLE_VALUE)CloseHandle(hComm);//chiude se gia inizializato prima
}


void TimerFunction(void* obj,UINT idEvent)
{
//This is our timer actevated function
//First get a pointer to class functions
MCP3002* mcp = (MCP3002*) obj;
//Activate class functions
mcp->HandleTimer(idEvent);

}

void MCP3002::HandleTimer(UINT nIDEvant)
{
//This function is activated from MM timer events
//Because we need to make 5000 samples do them
if(i_mmcount<=5000)
{
//GetADC Samples
Channel_0[i_mmcount] = ADC_Ch_0();
Channel_1[i_mmcount] = ADC_Ch_1();
//update counter
i_mmcount++;
}

//After we have done all samples stop sampling and MM timer
if(i_mmcount>5000)
{
MMT_Stop();//Stop MMTimer
DoEndNotification();//Make a notification to the program
}

}
void MCP3002::MMT_Stop()
{
//This function stops the MM timer
Sleep(10);
TEnd = CTime::GetCurrentTime();
//Stop timer
MMTimer.StopTimer();
Sleep(10);
}




void MCP3002::MMT_Start(unsigned short LPT)
{
//This function sets the LPT type
//Zero the counter and after this stop the timer
//Now it can be restarted and do samples
i_mmcount = 0;
LPT_PORT = LPT;
//If MMTimer alredy runs stop it now!
MMT_Stop();
//Before start timer get the time moment
TStart = CTime::GetCurrentTime();
//Do timer event any 2 msec = 500Hz +- 2Hz
MMTimer.StartTimer(this,2,10,TimerFunction);

}

unsigned short MCP3002::ADC_Ch_0()
{
//adc3002.GetChanne_0(LPT_PORT,10);
return (unsigned short)GetByteOnSerial();

}


unsigned short MCP3002::GetByteOnSerial()
{

unsigned short c;
DWORD NumberOfBytesRead;
DWORD nNumberOfBytesToRead = 1;
BOOL bResult;

nNumberOfBytesToRead=1;
DWORD nNumberOfBytesRead=0;

bResult = ReadFile(
hComm,
&c,
nNumberOfBytesToRead,
&NumberOfBytesRead,
NULL
);
FILE *pFile; //ho provato a stampare su un file i dati per vedere cosa
pFile=fopen("myfile.txt","w+"); //veniva fuori. scrive solo 6 lettere.
if(pFile!=NULL){
fprintf (pFile, "%x\n",&c);
fclose (pFile);
}
if(NumberOfBytesRead>0)
return (unsigned short)c;

return 0;
}


unsigned short MCP3002::ADC_Ch_1()
{
return (unsigned short)GetByteOnSerial();

}

void MCP3002::SetEndSampleNotification(void *obj, EndSampleNotification endnotification)
{
//Sets the end sample notification event
//so it will be activated after sampling period
object = obj;
//See declaration of EndSampleNotification
EndNotification = endnotification;

}

void MCP3002:oEndNotification()
{
//This function activates a function and pass a parameters
//to in our class
int len;
len = 5000;
//activates a function EndNotification see declaretion
EndNotification(object,&Channel_0[0],&Channel_1[0],len,TStart,TEnd);

}


Questo è un file che fa parte di un progetto che potrete trovare per intero a http://www.codeproject.com/tools/ecg_dsp.asp

Se vi viene in mente qualcosa ditemi.

Grazie mille!!!
lukayak è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è PNY RTX 5080 Slim OC, sembra una Founders Editio...
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei Wi-Fi 7 con il design di una vetta innevata: ecc...
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte Core Ultra 7 270K Plus e Core Ultra 7 250K Plus:...
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
iPhone 18, il mistero sul destino della ...
Motorola lavora al nuovo Razr 70 Ultra: ...
Il programma di ridimensionamento di One...
L'industria statunitense non è co...
La NASA cambia strategia per le missioni...
Mike Fincke, l'astronauta che ha avuto u...
I Meta Ray-Ban Display potrebbero non ar...
La serie di God of War ha trovato l'attr...
Il nuovo iPhone Fold si farà atte...
Ex CEO di Intel furioso verso Wall Stree...
Un foglietto di rame e le prestazioni di...
100 agenti AI per dipendente: quello che...
Le 10 migliori offerte del weekend Amazo...
75'' e 85'' QD-Mini LED: 2 TV interessan...
Offerte Amazon sui componenti hardware P...
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: 12:47.


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