📄 mouse_drive.h
字号:
#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 "Zlg7289.h"
#include "Type.h"
typedef struct __RUN_DATA
{
uint32 SysTick ; // 系统时钟计数器
uint32 LeftTime; // 左轮脉冲输入的时间
uint32 RightTime; // 右轮脉冲输入的时间
uint32 LeftPulse; // 左轮输入脉冲计数
uint32 RightPulse ; // 右轮输入脉冲计数
uint32 MousePulCount; // 车体向前或向后还需要走的脉冲个数
int32 PulseCount; // 当前需要运行的脉冲个数
uint8 COM_Run; // 车体运行状态
uint8 MouseStop; // 值为1时,表示车体停止
uint8 WheelStop; // 左右轮运行状态标志
// 高四位,左;低四位,右。
// bit3: 1前,0后。bit2: 保留
// bit1: 1卡,0行。bit0: 1停,0行
uint8 percent; // 运行的速度比率
}RUN_DATA;
typedef struct __mazemap
{
uint32 x;
uint32 y;
uint32 dir;
uint32 leftpulse;
uint32 rightpulse;
}MAZEMAP;
typedef struct __CHECK_MAZE
{
uint32 left_1;
uint32 left_2;
uint32 right_1;
uint32 right_2;
uint32 front_1;
uint32 front_2;
}CHECK_MAZE;
#define STOP 0
#define GO_ON 1
#define COME_BACK 2
#define TURN_90_L 3
#define TURN_90_R 4
#define TURN_180_L 5
#define TURN_180_R 6
#define TURN_LEFT 7
#define TURN_RIGHT 8
#define MAX_PER_PULS 3 // 定义单次(分段)运行脉冲数
#define MAX_NOT_RUN_TIME 800 // 定义堵转起时时间
extern RUN_DATA g_Run;
extern CHECK_MAZE Check_Maze_State[];
extern MAZEMAP MAP;
extern void Delay(unsigned long d);
extern void PwmPercent(int32 percent);
extern void MouseRUNIni( int run,int puls,int percent);
extern void Go_Ahead(uint32 n);
extern void Turnleft(void);
extern void Turnright(void);
extern void Turn180L(void);
extern void Turn180R(void);
extern void Check_Infrared(void);
extern void MicroMouseInit(void);
extern uint32 CheckKey(void);
extern void LEDDisplay(uint32 number,uint32 option);
extern void DirDisplay(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -