📄 k60-keil
字号:
#define RowMax 51 //图像行数
#define ColumnMax 70 //图像列数
#define DirectMiddle 2428 // 1870// //舵机中值,原始数据为1233
#define DirectLeft (DirectMiddle-255)// 1340 //舵机左值
#define DirectRight (DirectMiddle+255) //舵机右值
#define MotorMax 1125
#define MotorMin -1225
#define MotorMiddle 0
#define Black 0
#define White 255
#define A (PTE->PDIR&0x04000000) //遥控开关按钮
#define B (PTE->PDIR&0x01000000)
#define C (PTE->PDIR&0x08000000)
#define D (PTE->PDIR&0x02000000)
//#define Boma (uint8_t)((PTC->PDIR&0x0000007f8)>>3)
#define BomaA (uint8_t)((PTC->PDIR&0x000000078)>>3)
#define BomaB (uint8_t)((PTC->PDIR&0x000000780)>>7)
#define BomaC (uint8_t)((PTB->PDIR&0x000070000)>>16)
#define Counter_REST_L PTB->PDOR &=~0x00000800 //PE4复位
#define Counter_REST_H PTB->PDOR |= 0x00000800 //外部计数器清零口
/*液晶按钮*/
#define Button3 ((TouchX>=300&&TouchX<=900)&&(TouchY>=3200&&TouchY<=3800))
#define Button2 ((TouchX>=1800&&TouchX<=2200)&&(TouchY>=3400&&TouchY<=3800))
#define Button1 ((TouchX>=3200&&TouchX<=3800)&&(TouchY>=3200&&TouchY<=3800))
#define LED1_On PTA->PDOR &=~ (1<<14)
#define LED1_Off PTA->PDOR |= (1<<14)
#define LED2_On PTA->PDOR &=~ (1<<15)
#define LED2_Off PTA->PDOR |= (1<<15)
#define LED3_On PTA->PDOR &=~ (1<<16)
#define LED3_Off PTA->PDOR |= (1<<16)
#define LED4_On PTA->PDOR &=~ (1<<17)
#define LED4_Off PTA->PDOR |= (1<<17)
#define StartLineValue 200
extern unsigned char ImageFlag;
extern unsigned char ImageOK;
extern unsigned char FarWeight;
extern float SteerErrorArray[5];
extern int SteerTimeCount;
extern unsigned char SteerErrorOk;
extern int LineWeight[RowMax];
extern int Boma1;
extern int Boma2;
extern int Boma3;
extern int16_t SteerCounter;
extern int16_t MotorRunFlag;
extern uint16_t FTM0_Val;
extern unsigned char SendByte;
extern signed short g_PwmValue;
//====================================================================================
extern unsigned char ImageData[RowMax][ColumnMax];//图像数据数组
extern unsigned char ThresholdData[RowMax][ColumnMax];//二值化数据数组
extern unsigned char LineCount; //列计数值
extern unsigned char RowCount; //行计数值
extern unsigned char LineCount1; //列计数值
extern unsigned char RowCount1; //行计数值
extern unsigned char StartLineBuf[RowMax][ColumnMax]; //起跑线数据数组
extern signed char LeftBlack[RowMax]; //左边缘黑线数组
extern signed char RightBlack[RowMax];//右边缘黑线数组
extern signed char BlackLineData[RowMax];// 提取黑线值数据
//=====================================================================================
//=====================================================================================
extern signed char RoadType;//赛道类型
extern signed char LastRoadType;
extern int ThresholdValue;//二值化阈值
extern int ThresholdValue1;
extern uint16_t MotorSpeed;
extern unsigned short ADVal[5];
extern volatile unsigned char IsStartLine;//起跑线标志
extern unsigned char SlectedCheckStartLine;//拨码开关检测起跑线标志
extern unsigned char IsOutRoad;//冲出赛道标志
extern unsigned char BeginCheck;//开始检测起跑线标志
extern unsigned int TimeCount;//检测起跑线的时间延迟
extern uint8_t SerialBuf[24];
extern uint8_t SerialAdd;
extern uint8_t SerialFlag;
extern int16_t MotorPidVal;
//=====================================================================================
extern int SpeedPid;//速度给定值
//==========================================
extern int StraightSpeed;
extern int SmallSSpeed;
extern int BigSSpeed;
extern int BendSpeed;
extern int CommonSpeed;
extern int StraightToBendSpeed;
extern int SpecialSpeed;
extern int CanSpeedUp;
extern int CanFullSpeed;
extern int TopLen1;
extern int TopLen2;
//==========================================
extern unsigned char WhiteRow1;
extern unsigned char g_Derict;
//==========================================
extern float StraightK;
extern float SmallSK;
extern float BigSK;
extern float BendK;
extern float StraightToBendK;
extern float CommonK;
//==========================================
extern unsigned char StraightEnd;
extern unsigned char SmallSEnd;
extern unsigned char BigSEnd;
extern unsigned char BendEnd;
extern unsigned char CommonEnd;
extern unsigned char StraightToBenEnd;
//============================================
extern unsigned char StraightFS;//直道前瞻
extern unsigned char SmallSFS;//小s前瞻
extern unsigned char BigFS;//大S前瞻
extern unsigned char BendFS;//急弯前瞻
extern unsigned char CommonFS;//普通前瞻
extern unsigned char StraightToBendFS;
//=============================================
//============================================
extern int AllStraightCount;
extern int AllSmallSCount;
extern int AllBigSCount;
extern int AllBendCount;
//============================================
extern unsigned char BlackRow;
extern unsigned char WhiteRow;
extern unsigned char LineType[RowMax];
extern int LCrossingTripPos;
extern int RCrossingTripPos;
extern signed char TripPointPos[RowMax];
extern signed char SubValue[RowMax];
extern unsigned char ValidLine[RowMax];//1 - 左找到线 2--右找到线 两边都找到线-3 都找不到线-0
extern int NoValidMax;//连续两边找不到线计数
extern int StableNumbers;
extern int StableNumbers2;
extern int CompensateCount;
extern unsigned int Area;
extern float SteerError;
extern int TopE1;
extern int TopE2;
extern int SubBasePoint;
extern float Mid_K1;
extern float Mid_K2;
extern unsigned char IsCrossing;
extern double CrossingError;
extern unsigned char StandardRoadType;
extern unsigned char BlackEndL;
extern unsigned char BlackEndM;
extern unsigned char BlackEndR;
extern unsigned char BlackEndMax;
extern unsigned char BlackEndLMR;
extern int ValidLineCount;
extern int ValidLineCount1;
extern int ValidLineCount2;
extern int ValidExcursionCount;
extern int Excursion;
extern float EPerCount;
extern int LastExcursion;
extern double MidLineVariance;
extern int MidLineExcursion;
extern int FullSpeedFlag;
extern int CanCheck;
extern int FullSpeedTime; //起跑满占空时间
extern int CheckTime;//检测时间
//公共函数声明
int fabss(int n);
#define MAX(a,b) (((a) > (b)) ? (a) : (b))
#define Min(a,b) (((a) < (b)) ? (a) : (b))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -