Window s API 函数将串口视为文件, 对于串口的操作类似于对于普通文件的操作。在EVC 环境中, 通过调用CreateFile 函数来打开串口, 设置串口读写模式:
H ANDLE m _ hComm = Cr eateFile ( szPor t, GENERIC _READ| GENERIC _WRIT E, 0, NULL, OPEN _ EXISTING, 0,NULL) ;因为WinCE 不支持重叠I/ O, 所以CreateFile 的第6 个参数不能设置为: FILE _ FLAG _ OVER _LAPPED, 这里设置成通用常数“ 0”, 否则串行通信处理将被系统信息阻塞。
打开串口以后, 可以使用串口初始化函数SetCommState( ) 来获取串口当前的配置, 如串口号、波特率、奇偶校验、数据位、停止位等:
BOOL CGSM W_CameraDlg: : OpenPo rt ( UINT port No , / * 串口号* /
UINT baud, / * 波特率* /
UINT parity, / * 奇偶校验* /
UINT databits, / * 数据位* /
UINT sto pbits / * 停止位* / )
初始化缓冲区的信息:
Purg eComm( m _ hComm, PURGE _ TXCLEAR | PURGE _RXCLEAR) ;
m _ hReadCloseEv ent = CreateEvent ( NULL, T RUE,FALSE, NU LL) ;
m_ hReadT hread = Cr eateThread ( NU LL, 0, ReadT hr ead Func, this, 0, & m_dw ReadT hreadID) ;
应用程序开发是在EVC 集成开发环境中进行的。
用EVC 的AppWizard 向导建立基于MFC 的对话框程序架构, 在进行页面布局“图像显示区域”、“初始化”、“接听”、“拨号”、“挂机”等按钮后, 为各种按钮添加各种消息响应时间以及完成对各按钮进行的设置, 以响应用户期待的命令。“初始化”按钮是进行3G 网络的初始化。“接听”按钮就是响应3G 手机发送给开发板的命令,“拨号”按钮所需进行的设置有对方号码、拨号时发送的消息以及服务器IP 和端口号, 设置完这些就可进行拨号等待响应了;“挂机”按钮实现退出应用程序和关闭摄像头驱动的功能。实现这些按钮的单击事件响应函数的添加是比较容易的, 在EVC 环境中直接双击按钮, 进入代码编辑区就可进行编程调试。这里给出"初始化"和"拨号"按钮的部分代码, ……后面为省略的部分。
OpenPor t( 7, 115200) ; / / AT Com
if ( m_hComm ! = INVALID_H ANDLE_VALU E) / / 如果初始化按钮被按下
{
/ / 3G 初始化
UpdateData( TRUE) ;
SendCommand( "ATE0\ r\ n" ) ; / * 取消回显命令* /
…}
else
{
st r = "WCDMA 没有连接上";
Messag eBox ( st r) ;
return;
}
…
CStr ing str ( "AT D") ;
UpdateData( TRUE) ;
m_hut. EnableWindow( TRUE) ;
st r+ = m_RecvTele;
st r+ = " ; \ \ r\ \ n";
UpdateData( ) ;
SendCommand( str ) ; / * 读取SIM 中的第一条短信* /
…
【想第一时间了解安防行业的重磅新闻吗?请立即关注中安网官方微信(微信号:cpscomcn)——安防行业第一人气微信,万千精彩,千万不要错过!!!
网友评论
共有0条评论 点击查看全部>>24小时阅读排行
本周阅读排行