| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- /******************************************************************************
- 版权所有:
- 文件名称: 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_DI_INIT2 0x27 // 遥信板后32个遥信 接收:can中断 // 电源板增加了6个遥信总数为66,两组遥信只能支持64个还剩余2个,所以要再增加一组 add by EWen
- #define CAN_FRAME_TYPE_DI_ON2 0x28 // 遥信板后32个遥信 接收:can中断
- #define CAN_FRAME_TYPE_DI_OFF2 0x29 // 遥信板后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_ARGUMENT_DO_2 0x85 // 拓展开出参数设置, 发送:主循环中发送
- // 其它类
- #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 // 测试帧 发送:主循环; 接收:主循环
- #ifdef GW_AREA_MAIN_2021
- // 与查询遥测 CAN_FRAME_TYPE_LL_YC 定义重复,但目前没用到can采集线损暂时先这样定义,后续都启用的话再修改
- #define CAN_FRAME_TYPE_ETH_LED 0xc7 // 拓展板网口指示灯 发送:主循环; 接收:主循环
- #endif
- /*线损,针对主机来说的功能码*/
- #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
- /*------------------------------ 文件结束 -------------------------------------
- */
|