| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- /******************************************************************************
- 版权所有:
- 文件名称: 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
- /*------------------------------ 文件结束 -------------------------------------
- */
|