📄 serialtest.cpp
字号:
/* ------------------------------------------------------------------------ --
-- --
-- Keyboard control for using Tserial_event --
-- --
-- --
-- --
--
-- --
-- --
-- --
-- ------------------------------------------------------------------------ --
-- --
-- Filename : serialtest.cpp --
-- Author : Wang Bin --
-- Created : 3rd Aug 2007 --
-- --
-- Plateform: Windows 95, 98, NT, 2000 (Win32) --
-- ------------------------------------------------------------------------ --
-- ------------------------------------------------------------------------ */
/* ---------------------------------------------------------------------- */
#ifdef __BORLANDC__
#pragma hdrstop // borland specific
#include <condefs.h>
#pragma argsused
USEUNIT("Tserial_event.cpp");
//---------------------------------------------------------------------------
#endif
//---------------------------------------------------------------------------
#include "conio.h"
#include "Tserial_event.h"
#include <windows.h>
/* ======================================================== */
/* =============== OnCharArrival ===================== */
/* ======================================================== */
void OnDataArrival(int size, char *buffer)
{
if ((size>0) && (buffer!=0))
{
long out;
buffer[size] = 0;
out = buffer[5];
}
}
/* ======================================================== */
/* =============== OnCharArrival ===================== */
/* ======================================================== */
void SerialEventManager(uint32 object, uint32 event)
{
char *buffer;
int size;
Tserial_event *com;
com = (Tserial_event *) object;
if (com!=0)
{
switch(event)
{
case SERIAL_CONNECTED :
printf("Connected ! \n");
break;
case SERIAL_DISCONNECTED :
printf("Disonnected ! \n");
break;
case SERIAL_DATA_SENT :
printf("Data sent ! \n");
break;
case SERIAL_RING :
printf("DRING ! \n");
break;
case SERIAL_CD_ON :
printf("Carrier Detected ! \n");
break;
case SERIAL_CD_OFF :
printf("No more carrier ! \n");
break;
case SERIAL_DATA_ARRIVAL :
size = com->getDataInSize();
buffer = com->getDataInBuffer();
OnDataArrival(size, buffer);
com->dataHasBeenRead();
break;
}
}
}
/* ======================================================== */
/* ======================== main ======================= */
/* ======================================================== */
int main(int argc, char* argv[])
{
int c;
int erreur;
char txt[32];
Tserial_event *com;
com = new Tserial_event();
if (com!=0)
{
com->setManager(SerialEventManager);
erreur = com->connect("COM4", 9600, SERIAL_PARITY_NONE, 8, true);//############change 9600 to 19200
if (!erreur)
{
com->sendData("Hello World",11);
com->setRxSize(8);//#############chnage to 5
// ------------------
do
{
c = getch();
printf("_%c",c);
txt[0] = c;
com->sendData(txt, 1);
com->setRxSize(8);
}
while (c!=32);
}
else
printf("ERROR : com->connect (%ld)\n",erreur);
// ------------------
com->disconnect();
// ------------------
delete com;
com = 0;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -