当前位置: 代码迷 >> 综合 >> 函数、变量声明文件config.h
  详细解决方案

函数、变量声明文件config.h

热度:39   发布时间:2024-03-07 09:27:54.0

 最后更新于2020-10-22

如有编写新的的函数,需要更新此头文件

#ifndef CONFIG_H
#define CONFIG_H/*
本头文件包含全局变量声明、函数声明
*//********************************************************电机部分********************************************************/
/*
电机驱动引脚连接方法:
VCC接单片机5V电源,GND接单片机GND
R_EN与L_EN短路并接5V电平,驱动器使能
L_PWM输入PWM信号或高电平电机正转
R_PWM输入PWM信号或高电平电机反转
*/
typedef struct Motor
{int EN;    //电机使能引脚int L_PWM; //L_PWM引脚int R_PWM; //R_PWM引脚int Encoder_A; //编码器A引脚int Encoder_B; //编码器B引脚int Encoder_Z; //编码器Z引脚int motor_state;
}Motor;//motor[0],motor[1],motor[2]分别对应:右底角处电机、顶角处电机、左底角处电机
extern Motor motor[3];
//轮子速度
extern int rate;//初始化电机引脚
extern void Motor_init();/****************************电机控制函数****************************/
//电机正转,num取值范围:{0,1,2}
extern void CW(int Rate, int num);
//电机反转,num取值范围:{0,1,2}
extern void CCW(int Rate, int num);
//刹车函数,num取值范围:{0,1,2}
extern void Stop(int num);
/****************************电机控制函数****************************//*************************机器人运动控制函数*************************/
//刹车
extern void Brake();
//向前直行慢启动
extern void Straight_forward_slow_start(int Rate);
//向前直行
extern void Straight_forward();
//向左直行慢启动
extern void Leftward_slow_start(int Rate);
//向左直行
extern void Leftward();
//向右直行慢启动
extern void Rightward_slow_start(int Rate);
//向右直行
extern void Rightward();
//向后直行慢启动
extern void Straight_backward_slow_start(int Rate);
//向后直行
extern void Straight_backward();
/*************************机器人运动控制函数*************************/
/********************************************************电机部分********************************************************//********************************************************巡线部分********************************************************///初始化
extern void Tracing_init();
//确定左右半场
extern void Decide_left_or_right();/****************************巡线状态函数****************************/
//获取向前直行巡线状态
extern void Forward_tracing();
//获取向左直行巡线状态
extern void Leftward_tracing();
//获取向右直行巡线状态
extern void Rightward_tracing();
//获取向后直行巡线状态//获取巡线状态
//主程序中定时运行
extern void Get_tracing_state();
/****************************巡线状态函数****************************//****************************巡线动作函数****************************/
//岔路动作
//尚待完成
extern void Crossroad_action();//向前直行巡线纠偏动作
extern void Forward_tracing_rectification();
//向后直行巡线纠偏动作
extern void Backward_tracing_rectification();
//向左直行巡线纠偏动作
extern void Leftward_tracing_rectification();
//向右直行巡线纠偏动作
extern void Rightward_tracing_rectification();//岔路处拍摄照片,获取场地信息
//尚待完成
extern void Get_patient_info();//根据巡线状态,执行相应动作
extern void Tracing_action();
//主程序中持续循环运行extern void Tracing();
/****************************巡线动作函数****************************/
/********************************************************巡线部分********************************************************/#endif

 

  相关解决方案