?? 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 + -