📄 ultrasonarboard.h
字号:
/*
*Copyright (c) 2005,中国民用航空学院机器人研究所
*All rights reserved
*
*文件名称:UltraSonarBoard.h
*摘 要:实现对超声波信号采集板的控制
*
*当前版本:1.0
*作 者:牛国臣
*完成日期:2005年12月7日
*
*/
#ifndef _COMPASS_ULTRASONAR_ITL_NGC_H_
#define _COMPASS_ULTRASONAR_ITL_NGC_H_
#include "afxmt.h"
class AFX_EXT_CLASS UltraSonarBoard
{
public:
UltraSonarBoard(UINT serial_channel=4);
~UltraSonarBoard();
BOOL SetSerialPort(UINT serial_channel); //设置为0后返回错误,程序崩溃
void StartCapture();
void StopCapture();
void GetFrame(WORD *pBuf);
void SetMsgOnFrame(HWND hWnd,UINT msg);
//设置运行参数
void SetParam(BYTE maxDis,WORD chEnable);
private:
BOOL InitSerialPort(UINT serial_channel);
void Init(UINT serial_channel);
void Stop();
void Start();
static UINT ThreadCapture(LPVOID pParam);
BOOL SendData(BYTE *pBuf,UINT data_length);
WORD m_chEnable; //工作的通道,默认为0-9路超声波
BYTE m_maxDis; //测量量程,默认为3(量程为10m)
//0:1m
//1:3m
//2:5m
//3:10m
BOOL m_flagCap; //采集标志
public:
static CMutex m_mutexIO;
WORD Distance[16]; //每路超声波的距离信息,单位为mm
private:
static BOOL m_ctrlThread;
HWND m_hWndOfMsg; //窗口句柄
UINT m_msg; //消息
BOOL m_initFlag; //初始化状态
HANDLE m_hComm; //串口句柄
OVERLAPPED m_osRead;
OVERLAPPED m_osWrite; //用于串口重叠读/写
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -