com_trans.h

来自「LPC2129实现从SPI通讯和两个串口定时器中断」· C头文件 代码 · 共 131 行

H
131
字号
#ifndef _COMM_H
#define _COMM_H

#ifdef  COMM_GLOBALES 
   #define COMM_EXTERN 
#else
     #define COMM_EXTERN extern
#endif




 //********************全局变量设置**************************************************/

#define UART_NUM 2
#define DATA_BUF_NUM 64
#define true 1
#define false 0
#define RXD_WAIT 0
#define GET_ERROR 0xc0
#define SET_NEW 0x01
#define GET_LEN 0x3f
#define UART_START0 0x55
#define UART_START1 0xAA

struct DATA_BUF
{
 unsigned char data[DATA_BUF_NUM];
 unsigned char rx_cmd[DATA_BUF_NUM];
 unsigned char tx_cmd[DATA_BUF_NUM];
 unsigned char IP_addr;
 unsigned char s_l;
 unsigned char command;
 unsigned char length;
 unsigned char sum;
 unsigned char state;
};

COMM_EXTERN struct DATA_BUF RXD_BUF[UART_NUM],TXD_BUF[UART_NUM];
	

#include    "LPC2294.h"	
#include 	"config.h"
						


COMM_EXTERN int i;								

COMM_EXTERN unsigned char pos_L[12],pos_R[12];	  //读回的驱动器器参数
COMM_EXTERN unsigned char v_L[5],v_R[5];
/***********************************************************************************/

#define IP_MAIN		0X00	//主机地址

//**************有关UART通讯命令字宏定义*********************************************



#define VERSION_RQ		0X10	//设备信息查询
#define SYS_SET			0X11	//系统设置
#define PERFORM_1		0X12	//进入系统演示程序1
#define PERFORM_2		0X13	//进入系统演示程序2
#define PERFORM_3		0X14	//进入系统演示程序3

#define MOVE_RESET 		0X20	//运动软复位指令
#define MOVE_HOLD		0X21	//运动刹车控制指令
#define MOVE_DIS_L_SET	0X22	//设置左电机位置
#define MOVE_DIS_R_SET	0X23	//设置右电机位置
#define MOVE_SPEEDL_SET	0X24	//设置左电机的速度	
#define MOVE_SPEEDR_SET	0X25	//设置右电机的速度	
#define MOVE_SPEED_SET	0X26	//设置双电机的速度	
#define MOVE_ACCER_SET	0X27	//设置双电机的加速度
#define MOVE_STATE_RQ	0X28	//运动参数查询	
#define MOVE_PID_SET	0X29	//设置PID参数		
#define MOVE_ELEC_RQ	0X2A	//电气参数查询		
#define MOVE_PROTECT	0X2E	//自我保护功能选择	


#define MOVE_SPEED_ANGLE_SET	0X2B
#define MOVE_ANGLE_SPEED_SET	0X2C	
#define TURN_ANGLE_SPEED_SET	0X2D
#define GET_STANDARD			0X2F	//标定

#define SENSOR_CS_RQ	0X30	//请求读取超声波传感器的距离信息
#define SENSOR_HY_RQ	0X36	//请求读取全部红外传感器信息


#define IO_OUT			0X40	//IO输出
#define IO_IN_RQ		0X41	//IO输入请求
#define IO_PWM1			0X42	//PWM1输出
#define IO_PWM2			0X43	//PWM2输出
#define IO_PWM3			0X44	//PWM3输出 
#define IO_PWM4			0X45	//PWM4输出


#define MOTOR_RESET		0X60	//电机设备复位
#define MOTOR_HOLD		0X61	//电机刹车控制
#define MOTOR_DIS_SET	0X62	//电机位置设置
#define MOTOR_SPEED_SET	0X64	//电机速度设置
#define MOTOR_ACCER_SET	0X67	//设置双电机的加速度
#define MOTOR_STATE_RQ	0X68	//运动参数查询	
#define MOTOR_PID_SET	0X69	//设置PID参数		
#define MOTOR_ELEC_RQ	0X6A	//电气参数查询





/***********************************************************************************/

/****************************************************************************
* 名称:IRQ_UART1()
* 功能:串口UART0接收中断。
* 入口参数:无
* 出口参数:无
****************************************************************************/
void rx_cmd_deal(int uart_num,unsigned char receiv);
void perform_command (struct DATA_BUF *com_pk);
void operate_motion (struct DATA_BUF *motion_pk);
void set_move_reset(void);
void set_move_hold(void);
void set_move_speedLR(struct DATA_BUF *rxd_pk);
void SendSpeedLR(int SpeedL, int SpeedR);
void SendSpeedL(int TempSpeed);
void SendSpeedR(int TempSpeed);
	
void send_same_back_uart(uint8 uart_num,struct DATA_BUF *rxd_pk);


#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?