📄 34
字号:
/****************************************Copyright (c)****************************************************
** Guangzhou ZHIYUAN electronics Co.,LTD.
**
** http://www.embedtools.com
**
**--------------File Info---------------------------------------------------------------------------------
** File Name: Mouse.Drive.h
** Last modified Date:
** Last Version:
** Description: 底层驱动程序头文件
**
**--------------------------------------------------------------------------------------------------------
** Created By:
** Created date:
** Version:
** Descriptions:
**
**--------------------------------------------------------------------------------------------------------
** Modified by:
** Modified date:
** Version:
** Description:
**
*********************************************************************************************************/
#ifndef __Mouse_Drive_h
#define __Mouse_Drive_h
/*********************************************************************************************************
包含头文件
*********************************************************************************************************/
#include "hw_memmap.h"
#include "hw_ints.h"
#include "hw_types.h"
#include "interrupt.h"
#include "gpio.h"
#include "sysctl.h"
#include "Systick.h"
#include "Timer.h"
#include "Pwm.h"
#include "adc.h"
#include "Zlg7289.h"
#include "Type.h"
#include "Micromouse.h"
#include "Mouse_Config.h"
/*********************************************************************************************************
PB端口定义
*********************************************************************************************************/
#define __IRSEND_BEVEL GPIO_PIN_0 /* 驱动斜角红外的调制信号 */
#define __LEFTSIDE GPIO_PIN_1 /* 左方传感器输出的信号 */
#define __FRONTSIDE_L GPIO_PIN_2 /* 左前方传感器输出的信号 */
#define __FRONTSIDE GPIO_PIN_3 /* 前方传感器输出的信号 */
#define __FRONTSIDE_R GPIO_PIN_4 /* 右前方传感器输出的信号 */
#define __RIGHTSIDE GPIO_PIN_5 /* 右方传感器输出的信号 */
/*********************************************************************************************************
PC端口定义
*********************************************************************************************************/
#define __KEY GPIO_PIN_4 /* 按键连接的端口 */
/*********************************************************************************************************
PD端口定义
*********************************************************************************************************/
#define __PHRA1 GPIO_PIN_0 /* 右侧步进电机的A1相 */
#define __PHRA2 GPIO_PIN_1 /* 右侧步进电机的A2相 */
#define __PHRB1 GPIO_PIN_2 /* 右侧步进电机的B1相 */
#define __PHRB2 GPIO_PIN_3 /* 右侧步进电机的B2相 */
#define __PHLA1 GPIO_PIN_4 /* 左侧步进电机的A1相 */
#define __PHLA2 GPIO_PIN_5 /* 左侧步进电机的A2相 */
#define __PHLB1 GPIO_PIN_6 /* 左侧步进电机的B1相 */
#define __PHLB2 GPIO_PIN_7 /* 左侧步进电机的B2相 */
/*********************************************************************************************************
PE端口定义
*********************************************************************************************************/
#define __IRSEND_SIDE GPIO_PIN_0 /* 驱动左前右正向红外发射 */
/*********************************************************************************************************
常量宏定义--传感器
*********************************************************************************************************/
#define __LEFT 0 /* 左方传感器 */
#define __FRONTL 1 /* 左前方传感器 */
#define __FRONT 2 /* 前方传感器 */
#define __FRONTR 3 /* 右前方传感器 */
#define __RIGHT 4 /* 右方传感器 */
/*********************************************************************************************************
常量宏定义--电脑鼠状态
*********************************************************************************************************/
#define __STOP 0 /* 电脑鼠停止 */
#define __GOAHEAD 1 /* 电脑鼠前进 */
#define __TURNLEFT 3 /* 电脑鼠向左转 */
#define __TURNRIGHT 4 /* 电脑鼠向右转 */
#define __TURNBACK 5 /* 电脑鼠向后转 */
/*********************************************************************************************************
常量宏定义--电机状态
*********************************************************************************************************/
#define __MOTORSTOP 0 /* 电机停止 */
#define __WAITONESTEP 1 /* 电机暂停一步 */
#define __MOTORRUN 2 /* 电机运行 */
/*********************************************************************************************************
常量宏定义--电机运行方向
*********************************************************************************************************/
#define __MOTORGOAHEAD 0 /* 电机前进 */
#define __MOTORGOBACK 1 /* 电机后退 */
/*********************************************************************************************************
结构体定义
*********************************************************************************************************/
struct __motor {
int8 cState; /* 电机运行状态 */
int8 cDir; /* 电机运行方向 */
uint32 uiPulse; /* 电机需要运行的脉冲 */
uint32 uiPulseCtr; /* 电机已运行的脉冲 */
int32 iSpeed; /* 但前速度 */
};
typedef struct __motor __MOTOR;
/*********************************************************************************************************
常量宏定义
*********************************************************************************************************/
uint8 keyCheck(void);
void mouseInit(void);
void mouseGoahead(int8 cNBlock); /* 前进N格 */
void mazeSearch(void); /* 前进N格 */
void mouseTurnleft(void); /* 向左转90度 */
void mouseTurnright(void); /* 向右转90度 */
void mouseTurnback(void); /* 向后转 */
void sensorDebug(void); /* 传感器调试 */
void voltageDetect(void);
static void __delay(uint32 uiD);
static void __rightMotorContr(void);
static void __leftMotorContr(void);
static void __mouseCoorUpdate(void);
static void __mazeInfDebug(void);
static void __irSendFreq(uint32 __uiFreq, int8 __cNumber);
static void __irCheck(void);
static void __wallCheck(void); /* 墙壁检测 */
static void __sensorInit(void);
static void __stepMotorIint(void);
static void __keyInit(void);
static void __sysTickInit(void);
static void __ADCInit(void);
#endif
/*********************************************************************************************************
END FILE
*********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -