(完整版)RFID毕业课程设计 下载本文

printf(\

主菜单

************ **** **** \\n\

printf(\添加商品 | 2.销售商品 **** \\n\printf(\查看商品 | 4.查看销售 **** \\n\printf(\清空屏幕 | 6.退出程序 **** \\n\

printf(\ int choice=0; cin>>choice; return choice;

} 接口函数

COPYRIGHT NOTICE

Copyright (c) 2011, 上海交通大学 物联网实验室 All rights reserved. @file SerialPort.cpp @brief 串口通信类的实现文件 本文件为串口通信类的实现代码 @version 1.0 @author 陈杰 @E-mail: @date 修订说明: #include \

m_(&m_csCommunicationSync); if (!InitPort(portName))

{

(版权声明)

if(5==o_eCode){

OcpMark::instance()->setVal(true); }

cout << \ exit(-1);

} else { }

if (!OpenListenThread()) {

cout << \

cout << \

} else

{

cout << \ }

CSerialPort::~CSerialPort(void)对应构造函数,称为析构函数,在对象销毁时调用 {

CloseListenTread(); ClosePort(); }

delete [] buffer;

OcpMark::instance()->setVal(false);

}

bool CSerialPort::InitPort( const char *portName *= 1*,UINT baud *= CBR_115200*,char parity *= 'N'*,

UINT databits *= 8*, UINT stopsbits *= 1*,DWORD dwCommEvents *=

DeleteCriticalSection(&m_csCommunicationSync);

EV_RXCHAR* ) {

** 临时变量,将制定参数转化为字符串形式,以构造DCB结构 * char szDCBparam[50];

sprintf_s(szDCBparam, \** 打开指定串口,该函数内部已经有临界区保护,上面请不要加保护 *

if (!openPort(portName))

{ }

** 进入临界段 *

EnterCriticalSection(&m_csCommunicationSync); ** 是否有错误发生 * BOOL bIsSuccess = TRUE;

return false;

** 在此可以设置输入输出的缓冲区大小,如果不设置,则系统会设置默认值.

* 自己设置缓冲区大小时,要注意设置稍大一些,避免缓冲区溢出 *

*if (bIsSuccess ) {

bIsSuccess = SetupComm(m_(&m_csCommunicationSync);

return bIsSuccess==TRUE;

}

bool CSerialPort::InitPort( const char *portName ,const LPDCB& plDCB ) {

** 打开指定串口,该函数内部已经有临界区保护,上面请不要加保护 *

if (!openPort(portName)) }

void CSerialPort::ClosePort() {

** 如果有串口被打开,关闭它 * if( m_(&m_csCommunicationSync); ** 打开指定的串口 * { }

** 进入临界段 *

EnterCriticalSection(&m_csCommunicationSync); ** 配置串口参数 *

if (!SetCommState(m_ false; }

** 清空串口缓冲区 *

PurgeComm(m_(&m_csCommunicationSync); return true;

return false;

m_(&m_csCommunicationSync); cout<<\