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

📄 var.h

📁 DIY一个属于你的超声波测距传感器程序的构思和设计
💻 H
字号:
/***************************************************/
/*					  超声波测距传感器	    							 */
/*          		—— 变量定义												 */
/*					    20080222                           */
/*              By DingQi                          */
/***************************************************/
// 注:以下文档的 TAB 为 2 个字符!

// 工作模式控制
unsigned	char				g_ucWorkMode;									// 工作模式,高半字为主模式控制,低半字为子模式控制
unsigned	char				g_ucModePara;									// 工作模式相应的参数,对应自动模式为测量周期,单位 10ms
																										// 对应单次模式为测量次数;
																										
unsigned	char				gc_ucMeaPeriodCnt;						// 自动模式下,测量周期计时,单位 10ms
unsigned 	char				gc_ucMeaTimesCnt;							// 单次测量模式的数据采集次数计数

// 通讯
unsigned 	char 	idata	ga_ucRcvBuf[MaxRcvByte_C];		// 接收缓冲区
unsigned 	char 	data	gi_ucSavePtr;									// 存数指针,每收到一个字节保存到缓冲区后加“1”。

unsigned 	char	data	gi_ucGetPtr;									// 从缓冲区中取数的指针,每取出一个字节后加“1”。
unsigned 	char	idata	gi_ucStartPtr;								// 帧起始位置,指向数据区开始。
unsigned 	char	idata	gi_ucEndPtr;									// 帧结束位置。
unsigned 	char	idata	gc_ucDataLen;									// 帧长,即数据区字节数。
bit										g_bNewData;										// 串口收到一个字节标志,为减少变量交互。
bit										g_bStartRcv;									// 开始接收数据帧标志。

unsigned 	char	idata	ga_ucTxdBuf[MaxTxdByte_C];		// 发送缓冲区,用于返回数据。
unsigned 	char	data	gi_ucTxdPtr;									// 发送指针
unsigned 	char	data	gc_ucTxdCnt;									// 发送字节计数

unsigned 	char				g_ucSenderAddr;								// 保存命令发送者的地址,为了自动返回数据
bit										g_bTxdFinish;									// 数据发送结束标志

// 工作状态
unsigned	char	data	g_ucWorkStat;									// 工作状态

bit					 					g_b1msFlag;										// 1ms中断标志
unsigned 	char				gc_uc10msCnt;									// 10ms 计数器
unsigned 	int	data		gc_uiWdtCnt;									// WDT清除计数器


// 测量
unsigned 	int		idata	ga_uiMeaData[DATA_SAVE_NUM];	// 测量结果保存数组,单位mm,数值范围:0 - 65535mm
unsigned	char	data	gi_ucDataSavePtr;							// 数据保存指针

unsigned	char	data	gc_ucUltraSonic_T_Cnt;							// 发送超声波脉冲计数
unsigned	char	code	ga_uiUS_T_PulsWidth[2]={136,136};		// 超声波脉冲的高低电平时间,根据具体的波形调整!
bit										g_bUltraSonicDrvValid;							// 超声波输出驱动有效标志

typedef	union
{
	unsigned int all;
	unsigned char b[2];
}timer_val;

timer_val				data	g_uiStopTime;								// 检测超声波结束时刻的 PCA 计时器值,因为从“0”开始,所以不要起始值
unsigned 	char	data	gc_ucPCA_OverCnt;						// PCA 计时器溢出计数,与上面值组合得到超声波的到达时间值
unsigned	char				g_ucPCA_OverVal;						// PCA 计时器溢出值

timer_val				data	g_ui852GainCtrlTime;				// TL852 增益控制时间点,PCA的比较值

unsigned 	int		code	ga_uiDeltaTime[11] = {26320 - CUT_OFF_DELAY,30358,30358,30358,30358,30358,30358,30358,60715,60715,60715};
			
unsigned 	char	data	gc_ucGainCtrl_No;						// 增益控制序号
bit										g_bGainCtrl;								// 增益控制标志

unsigned	char				gc_ucGapAtSingleMea;				// 单次测量模式中多次数据采集间的间隔时间, 1ms 计数


// 工作状态指示
unsigned	char				g_ucWorkDispStat;						// 工作显示状态
unsigned	int					gc_uiWorkDispTimeCnt;				// 工作指示灯亮、暗计时, 单位: ms
unsigned 	char				gc_ucWorkDispNumCnt;				// 显示次数计数,显示结束后回到正常状态

unsigned 	int		code	ga_uiWorkDispTime[3] = {NORMAL_DISP,UART_DISP,MEA_OK_DISP};
unsigned 	char	code	ga_ucWorkDispNum[3] = {NORMAL_NUM,UART_NUM,MEA_OK_NUM};

// debug
unsigned 	char				gc_ucINT1_Cnt;		

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -