/****************************************************************************** 版权所有: 文件名称: can_app.h 文件版本: 01.01 创建作者: sunxi 创建日期: 2013-02-28 功能说明: can传输应用层 其它说明: 修改记录: */ #ifndef _CAN_APP_H #define _CAN_APP_H /*------------------------------- 头文件 -------------------------------------- */ /*------------------------------- 宏定义 -------------------------------------- */ // 帧类型,带优先级,数字越小,优先级越高 // 分为4大类,每类64个 // !!!!!!!!!!!!!同一大类的帧不能在不能的中断级别中发送,切记!!!!!!!!!!!!!!! // 开入开出类 #define CAN_FRAME_TYPE_DO_ON 0x01 // 开出, 发送:5ms中断 #define CAN_FRAME_TYPE_DO_OFF 0x02 // 开出, 发送:5ms中断 #define CAN_FRAME_TYPE_DI_INIT 0x21 // 遥信板前32个遥信 接收:can中断 #define CAN_FRAME_TYPE_DI_ON 0x22 // 遥信板前32个遥信 接收:can中断 #define CAN_FRAME_TYPE_DI_OFF 0x23 // 遥信板前32个遥信 接收:can中断 #define CAN_FRAME_TYPE_DI_INIT1 0x24 // 遥信板后32个遥信 接收:can中断 #define CAN_FRAME_TYPE_DI_ON1 0x25 // 遥信板后32个遥信 接收:can中断 #define CAN_FRAME_TYPE_DI_OFF1 0x26 // 遥信板后32个遥信 接收:can中断 // 对时类 #define CAN_FRAME_TYPE_TIMING 0x40 // 对时/召子板信息,发送:5ms中断 // 控制类 #define CAN_FRAME_TYPE_SB_INFO 0x81 // 子板应答信息, 接收:can中断 #define CAN_FRAME_TYPE_ARGUMENT_DO 0x82 // 开出参数设置, 发送:主循环中发送 #define CAN_FRAME_TYPE_ARGUMENT_DI 0x83 // 遥信参数设置, 发送:主循环中发送 #define CAN_FRAME_TYPE_ARGUMENT_LED 0x84 // LED参数设置, 发送:主循环中发送 // 其它类 #define CAN_FRAME_TYPE_PROGRAM_UPDATE 0xc0 // 子板程序更新, 发送:主循环中; 接收:主循环中 #define CAN_FRAME_TYPE_PROGRAM_READ 0xc1 // 子板程序读取, 发送:主循环中; 接收:主循环中 #define CAN_FRAME_TYPE_LED 0xc2 // 告警LED灯, 发送:主循环中 #define CAN_FRAME_TYPE_RESET 0xc3 // 复位所有子板, 发送:主循环 #define CAN_FRAME_TYPE_SB_MONITOR 0xc4 // 子板监视信息, 发送:主循环; 接收:主循环 #define CAN_FRAME_TYPE_TEST 0xc5 // 测试帧 发送:主循环; 接收:主循环 /*线损,针对主机来说的功能码*/ #define CAN_FRAME_TYPE_LL_YX 0XC6 //查询遥信 发送:主循环中; 接收:主循环中 #define CAN_FRAME_TYPE_LL_YC 0XC7 //查询遥测 #define CAN_FRAME_TYPE_LL_DD 0XC8 //查询电度 #define CAN_FRAME_TYPE_LL_CALIB1 0XC9 //校准1 #define CAN_FRAME_TYPE_LL_CALIB2 0XCA //校准2 #define CAN_FRAME_TYPE_DISCOVER 0xCB // 子板查找 #define CAN_FRAME_TYPE_GIVE_CAN_SLOT 0xCC // 给与CAN子板卡槽号 #define CAN_FRAME_TYPE_LL_FIXD 0X27 //定时冻结 #define CAN_FRAME_TYPE_LL_RAND 0X28 //瞬时冻结 #define CAN_FRAME_TYPE_LL_FRZD 0X29 //日冻结 #define CAN_FRAME_TYPE_LL_SHARPD 0X2A //整点冻结 #define CAN_FRAME_TYPE_LL_MONTHD 0X2B //考核日冻结 #define CAN_FRAME_TYPE_LL_SET 0X85 //设置参数 #define CAN_FRAME_TYPE_LL_SET_TIME CAN_FRAME_TYPE_TIMING //对时 #define CAN_FRAME_TYPE_LL_SOE 0X03 //遥信突发上送 /*------------------------------ 类型结构 ------------------------------------- */ /*------------------------------ 函数声明 ------------------------------------- */ int can_app_init(void); int can_app_exit(void); u8 can_app_checksum(u8 *buf,u8 len); int can_app_timing(void); int can_app_reset(int is_watchdog); int can_app_sb_monitor(void); int can_app_test_printf(void); int can_task(void); #endif //_CAN_APP_H /*------------------------------ 文件结束 ------------------------------------- */