⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ultrasonarboard.h

📁 机器人超声波避障系统
💻 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 + -