D_Buffer.H
资源名称:GPRS.rar [点击查看]
上传用户:zanguozi01
上传日期:2014-02-19
资源大小:155k
文件大小:21k
源码类别:
GPS编程
开发平台:
Others
- /********************************************************
- * 文件名: D_Buufer.C
- * 创建时间:2004年12月7日
- * 创建人:
- * 版本号: 1.00
- * 功能: 有关FLASH,Buffer1中相关的一些位置定义
- * 文件属性:公共文件
- * 修改历史:(每条详述)
- 2004年12月14日:修改
- ********************************************************/
- #ifndef __D_Buffer_H
- #define __D_Buffer_H
- /********************************************************
- 一,串行存储器AT45DB041的整个FLASH扇区空间的分配
- ********************************************************/
- //信息区域1
- #define FLASH_INFO1_ONE_2 1 //表示存储系统相关信息的信息的扇区1
- #define FLASH_INFO1_TWO_2 2 //表示存储系统相关信息的信息扇区1的备份
- //存储电话区域扇区
- #define FLASH_DIAL_PHONE 200 //表示存储拨出电话记录的扇区
- #define FLASH_RECORD_PHONE_2 300 //表示存储通话电话记录的扇区
- //信息区域2
- #define FLASH_INFO2_ONE_2 5 //表示存储系统相关信息的信息扇区2
- #define FLASH_INFO2_TWO_2 6 //表示存储系统相关信息的的信息扇区2的备份
- //存储区域数据扇区
- #define FLASH_AREA_ONE_2 7 //表示存储区域数据的扇区
- #define FLASH_AREA_TWO_2 8 //表示存储区域数据内容的备份
- //存储线路报警数据的扇区
- #define FLASH_LINEDATA1_ONE_2 10 //表示存储线路报警的数据的第一个页(存储31个点)
- #define FLASH_LINEDATA1_TWO_2 11 //表示存储线路报警的数据信第一个页的数据备份
- #define FLASH_LINEDATA2_ONE_2 12 //表示存储线路报警的数据的第一个页(存储31个点)
- #define FLASH_LINEDATA2_TWO_2 13 //表示存储线路报警的数据信第一个页的数据备份
- //存储电话号码本的扇区
- #define FLASH_PHONE_INFO_ONE_2 26 //表示记录存储电话号码本1(10个号码)
- #define FLASH_PHONE_INFO_TWO_2 27 //表示记录存储电话号码本2(10个号码)
- //存储备份文字信息的扇区
- #define FLASH_WORD_START_2 400 //表示在FLASH中从第FLASH_WORD_START_2个扇区开始存储文字信息
- #define FLASH_WORD_END_2 499 //表示在FLASH的第FLASH_WORD_END_2个扇区为存储文字信息的最后一个扇区
- //存储行车轨迹的盲区补偿数据的扇区
- #define FLASH_TRACKDATA_S_2 500 //表示一定条件下,需要将行车轨迹存储在Flash中FLASH_TRACKDATA_S_2开始的位置
- #define FLASH_TRACKDATA_E_2 999 //需要将行车轨迹存储在Flash中FLASH_TRACKDATA_E_2开始的位置。
- //存储间隔行车轨迹的数据的扇区
- #define FLASH_PASTDATA_S_2 1000 //表示存储历史轨迹的第一个扇区地址
- #define FLASH_PASTDATA_E_2 2047 //表示存储历史轨迹的最后一个扇区的地址
- /********************************************************
- 二,串行存储器AT45DB041的信息扇区1的分配(扇区1和扇区2)
- ********************************************************/
- #define VEH_TYPE_2 0x00 //在扇区1和2中存储车型
- #define VEH_KIND_2 0x01 //在扇区1和2中存储车类
- #define VEH_GROUP_2 0x02 //在扇区1和2中存储车组
- #define VEH_VID_H_2 0x03 //在扇区1和2中存储车号的高8位
- #define VEH_VID_L_2 0x04 //在扇区1和2中存储车号的低8位
- #define PASSWORD1_F_2 0x10 //在扇区1和2中存储密码1的首地址
- #define PASSWORD2_F_2 0x17 //在扇区1和2中存储密码2的首地址
- #define TARGET_NUMBER1_F_2 0x20 //在扇区1和2中存储目标电话号码1的首地址
- #define TARGET_NUMBER2_F_2 0x30 //在扇区1和2中存储目标电话号码2的首地址
- #define GPRS_IP_ADDRESS1_F_2 0x40 //在扇区1和2中存储GPRS登陆的IP地址1的首地址(存储的是长度)
- #define GPRS_SOCKET1_F_2 0x50 //在扇区1和2中存储GPRS登陆IP地址1的SOCKET(long int的一个四字节的数)
- #define GPRS_IP_ADDRESS2_F_2 0x40 //在扇区1和2中存储GPRS登陆的IP地址2的首地址(存储的是长度)
- #define GPRS_SOCKET2_F_2 0x50 //在扇区1和2中存储GPRS登陆IP地址2的SOCKET(long int的一个四字节的数)
- #define GPRS_APN_DATA_F_2 0x60 //在扇区1和2中存储GPRS登陆的APN的内容,第一个数据存储的是长度
- /********************************************************
- 三,串行存储器AT45DB041的扇区信息扇区2的分配(扇区5和扇区6)
- ********************************************************/
- #define ON_OFF_V1_2 0x00
- #define ON_OFF_V2_2 0x01
- #define ON_OFF_V3_2 0x02 //在扇区中头三个字节用来存储一些与系统设置有关的开关量
- #define ALARM_F_2 0x03 //在扇区中存储报警类型(0-255,可以有255种类型的报警形式存在)后面0x04的一个字节是报警的取反
- // ........................0x04 //报警的取反。
- #define STOP_F_2 0x05 //在扇区中存储制动标志,为1,则表示处于制动标志,其他则为未制动标志
- #define WATCH_F_2 0x06 //在扇区中存储监控标识
- //0x06-----0x0f 存储与监控相关的一些参数
- #define DEFENCE_F_2 0x10 //在扇区中存储设防标志
- #define TCP_TIMER_2 0x11 //在扇区中与0x12一起存储需要在TCP方式下上传行车轨迹点的时间间隔
- #define GSM_TIMER_2 0x13 //在扇区中与0x14一起存储需要在GSM方式下上传行车轨迹点的时间间隔
- #define DISTANCE_2 0x15 //在扇区中存储距离间隔发送数据的距离值
- #define DISTANCE_ON_2 0x17 //表示存储间隔距离是否需要常TCP在线的标志
- #define MAX_SPEED_2 0x18 //在扇区中存储规定的最大行车速度
- #define LIMT_DISTANCE_2 0x19 //存储线路偏离的最大数据
- //..................................0x1A
- #define CENTER_NUM_F_2 0x1B //在扇区中存储中心服务号码的首地址
- #define ARALM_NUM_2 0x2B //在扇区中存储报警号码的首地址
- #define WATCH_NUM_2 0x3B //在扇区中存储监听号码的首地址
- #define RESET_NUM_2 0x4B //在扇区中存储重新启动设备的号码的首地址
- /********************************************************
- 四,扇区7,8作为存储区域设置存储的两个扇区数据中的位置
- ********************************************************/
- #define FAREA1_LON_1_2 0x00 //第一个点的经度
- // 0x01
- // 0x02
- // 0x03
- #define FAREA1_LAT_1_2 0x04 //第一个点的纬度
- // 0x05
- // 0x06
- // 0x07
- #define FAREA1_LON_2_2 0x08 //第二个点的经度
- // 0x09
- // 0x0A
- // 0x0B
- #define FAREA1_LAT_2_2 0x0C //第二个点的纬度
- // 0x0D
- // 0x0E
- // 0x0F
- #define FAREA1_PAR_2 0x10 //第一个区域的的标志0XAA表示是禁入标志,0X55表示是禁出标志,0X00则表示无效
- //--------------------------------------------------------------------------------
- #define FAREA2_LON_1_2 0x11 //第一个点的经度
- // 0x12
- // 0x13
- // 0x14
- #define FAREA2_LAT_1_2 0x15 //第一个点的纬度
- // 0x16
- // 0x17
- // 0x18
- #define FAREA2_LON_2_2 0x19 //第二个点的经度
- // 0x1A
- // 0x1B
- // 0x1C
- #define FAREA2_LAT_2_2 0x1D //第二个点的纬度
- // 0x1E
- // 0x1F
- // 0x20
- #define FAREA2_PAR_2 0x21 //第二个区域的标志,OxAA表示是禁入标志,0X55表示是禁出标志,0X00则表示无效
- //--------------------------------------------------------------------------------
- #define FAREA3_LON_1_2 0x22 //第一个点的经度
- // 0x23
- // 0x24
- // 0x25
- #define FAREA3_LAT_1_2 0x26 //第一个点的纬度
- // 0x27
- // 0x28
- // 0x29
- #define FAREA3_LON_2_2 0x2A //第二个点的经度
- // 0x2B
- // 0x2C
- // 0x2D
- #define FAREA3_LAT_2_2 0x2E //第二个点的纬度
- // 0x2F
- // 0x30
- // 0x31
- #define FAREA3_PAR_2 0x32 //第三个区域的标志,OxAA表示是禁入标志,0X55表示是禁出标志,0X00则表示无效
- //--------------------------------------------------------------------------------
- #define FAREA4_LON_1_2 0x33 //第一个点的经度
- // 0x34
- // 0x35
- // 0x36
- #define FAREA4_LAT_1_2 0x37 //第一个点的纬度
- // 0x38
- // 0x39
- // 0x3A
- #define FAREA4_LON_2_2 0x3B //第二个点的经度
- // 0x3C
- // 0x3D
- // 0x3E
- #define FAREA4_LAT_2_2 0x3F //第二个点的纬度
- // 0x40
- // 0x41
- // 0x42
- #define FAREA4_PAR_2 0x43 //第四个区域的标志,OxAA表示是禁入标志,0X55表示是禁出标志,0X00则表示无效
- /********************************************************
- 五,串行存储器存储线路报警的第一个扇区数据的存放格式,一个页的位置的数据存放相同
- ********************************************************/
- #define FLINE_DATA_1 0x00
- //......................................
- //..................................0x07
- #define FLINE_DATA_2 0x08
- //......................................
- //..................................0x0F
- #define FLINE_DATA_3 0x10
- //......................................
- //..................................0x17
- #define FLINE_DATA_4 0x18
- //......................................
- //..................................0x1F
- #define FLINE_DATA_5 0x20
- //......................................
- //..................................0x27
- #define FLINE_DATA_6 0x28
- //......................................
- //..................................0x2F
- #define FLINE_DATA_7 0x30
- //......................................
- //..................................0x37
- #define FLINE_DATA_8 0x38
- //......................................
- //..................................0x3F
- #define FLINE_DATA_9 0x40
- //.....................................
- //......................................
- //......................................
- #define FLINE_DATA_30 0xE8
- //......................................
- //..................................0xEF
- #define FLINE_NUM_1 0xFC //此扇区数据的个数,最多30个
- #define FLINE_NUM_2 0xFD //此扇区数据个数(取反)
- #define FLING_CHECK_1 0xFE
- #define FLINE_CHECK_2 0xFF //校验核
- /********************************************************
- 六,电话号码本的存储方式:
- 20个电话号码存储在2个扇区中,每个扇区存储10个号码
- 分为4次,5个号码为一组的接收和存储。一个号码的固定字长
- 为23个字节。
- 8(姓名)+13(电话号码) =21
- ********************************************************/
- #define ONE_1_FRAME_2 0x00 //第一个帧的电话号码1的开始位置
- //..................................0x08
- //..................................0x14 //第一个帧的电话号码1的结束位置
- #define ONE_2_FRAME_2 0x15 //第一个帧的电话号码2的开始位置
- //..................................0x1D
- //..................................0x29 //第一个帧的电话号码2的结束位置
- #define ONE_3_FRAME_2 0x2A //第一个帧的电话号码3的开始位置
- //..................................0x32
- //..................................0x3E //第一个帧的电话号码3的结束位置
- #define ONE_4_FRAME_2 0x3F //第一个帧的电话号码4的开始位置
- //..................................0x47
- //..................................0x53 //第一个帧的电话号码4的结束位置
- #define ONE_5_FRAME_2 0x54 //第一个帧的电话号码5的开始位置
- //..................................0x5c
- //..................................0x68 //第一个帧的电话号码5的结束位置
- #define TWO_1_FRAME_2 0x69 //第二个帧的电话号码1的开始位置
- //..................................0x7D //第二个帧的电话号码1的结束位置
- #define TWO_2_FRAME_2 0x7E //第二个帧的电话号码2的开始位置
- //..................................0x92 //第二个帧的电话号码2的结束位置
- #define TWO_3_FRAME_2 0x93 //第二个帧的电话号码3的开始位置
- //..................................0xA7 //第二个帧的电话号码3的结束位置
- #define TWO_4_FRAME_2 0xA8 //第二个帧的电话号码4的开始位置
- //..................................0xBC //第二个帧的电话号码4的结束位置
- #define TWO_5_FRAME_2 0xBD//0xCF //第二个帧的电话号码5的开始位置
- //..................................0xD1 //第二个帧的电话号码5的结束位置
- #define PHONE_NUM_2 0xFF //在这个扇区存储的号码的个数(0---10)范围
- /********************************************************
- 七,串行存储器AT45DB041的buffer1(264个字节的SRAM)的分配
- ********************************************************/
- /*
- #define TARGET_NUMBER1_2 0x00 //存储目标号码1的长度,不包括长度本身
- //在buffer1中存储目标电话号码1的首地址(存储空间为0x01---0xF)
- #define TARGET_NUMBER1_CHECK_2 0x10 //存储电话号码1校验字节
- #define GPRS_IP_ADDRESS1_2 0x11 //存储IP地址1的长度,不包括长度本身
- //在buffer1中存储GPRS登陆的IP地址1(存储空间为0x11---0x20)共16个字节
- #define GPRS_IP_ADDRESS1_CHECK_2 0x21 //IP地址1的校验字节
- #define GPRS_SOCKET1_2 0x22 //在buffer1中存储GPRS登陆IP地址1的SOCKET(存储空间为0x22---0x26),5个字节
- #define GPRS_SOCKET1_END_2 0x27 //PORT1的校验字节
- #define GPRS_APN_ADDRESS2_2 0x28 //存储GPRS的VPN的长度,不包括长度本身字节
- #define GPRS_APN_END_2 0x51 //PORT2的校验字节
- #define CENTER_NUM_2 0x52 //短消息中心号码的长度字节
- //在buffer1中存储短消息中心号码的首地址(存储空间为0x53---0x61)
- #define CENTER_NUM_CHECK_2 0x62 //短消息中心号码的校验字节
- #define PHONE_AT_2 0x63 //在buffer1中存储和手柄相关的AT指令的首地址(非SMS)
- #define ECHO_SMS_2 0x80 //在buffer1中存储主控下行SMS的部分反馈SMS的首地址,属于第二类的SMS
- #define OTHER_SMS_2 0xBA //在buffer1中存储手柄或者显示屏需要处理的SMS的首地址,属于第三类的SMS
- */
- /********************************************************
- 八,外部SRAM的空间分分配
- ********************************************************/
- //0,将buffer1的中的数据转移到外部SRAM中的位置
- #define TARGET_NUMBER1_2 0x0000 //存储目标号码1的长度,不包括长度本身
- //在SRAM中存储目标电话号码1的首地址(存储空间为0x01---0xF)
- #define TARGET_NUMBER1_CHECK_2 0x0010 //存储电话号码1校验字节
- #define GPRS_IP_ADDRESS1_2 0x0011 //存储IP地址1的长度,不包括长度本身
- //在SRAM中存储GPRS登陆的IP地址1(存储空间为0x11---0x20)共16个字节
- #define GPRS_IP_ADDRESS1_CHECK_2 0x0021 //IP地址1的校验字节
- #define GPRS_SOCKET1_2 0x0022 //在SRAM中存储GPRS登陆IP地址1的SOCKET(存储空间为0x22---0x26),5个字节
- #define GPRS_SOCKET1_END_2 0x0027 //PORT1的校验字节
- #define GPRS_APN_ADDRESS2_2 0x0028 //存储GPRS的VPN的长度,不包括长度本身字节
- #define GPRS_APN_END_2 0x0051 //PORT2的校验字节
- #define CENTER_NUM_2 0x0052 //短消息中心号码的长度字节
- //在SRAM中存储短消息中心号码的首地址(存储空间为0x53---0x61)
- #define CENTER_NUM_CHECK_2 0x0062 //短消息中心号码的校验字节
- #define PHONE_AT_2 0x0063 //在SRAM中存储和手柄相关的AT指令的首地址(非SMS)
- #define ECHO_SMS_2 0x0080 //在SRAM中存储主控下行SMS的部分反馈SMS的首地址,属于第二类的SMS
- #define OTHER_SMS_2 0x00BA //在SRAM中存储手柄或者显示屏需要处理的SMS的首地址,属于第三类的SMS
- #define END_SRAM_2 0x00FF //结束地址
- //作为存放手柄指令的地方
- #define SHANDLE_DATA_VAILD 0x0100 //为1则表示有数据发送,为0则表示无数据发送
- #define SHANDLE_END 0x01FF //作为结束地址
- //1,存储循环接收的记录仪数据的外部SRAM的位置(5个0xFFF)
- #define SRAM_RECORD_S 0x1000
- #define SRAM_RECORD_E 0x4FFF //分配16K的空间给接收行使记录仪的数据,只负责接收
- //------------------------------------------------
- //------------------------------------------------
- //3,存储需要转发到中心的来自记录仪的一个有效数据的外部SRAM的位置 (3个0XFFF)
- #define SRAM_SEND_VAILD 0x8000 //存储数据的有效性0xaa,表示存储当前驾驶员的信息
- #define SRAM_SEND_LENGTH_H 0x8001 //存储后面数据的长度的高字节(不包括长度本身字节)
- #define SRAM_SEND_LENGTH_L 0x8002 //存储后面数据的长度的低字节(不包括长度本身字节)
- #define SRAM_SEND_S 0x8003 //数据的第一个字节的首地址
- #define SRAM_SEND_E 0xAFFF //数据的最后一字节的地址
- //------------------------------------------------------------------------------------
- //4,转移FLASH中的区域报警中的数据到外部SRAM(4K的空间)。1个0XFFF
- //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- #define SAREA_DATA_FS 0xB000 //作为后面数据的正确的判断标志,0X55,如果数据不为0X55,则说明数据问题,则需要重新从FLASH中读取数据
- //----------------------------------------------------------------- ,
- #define SAREA1_LON_1_2 0xB003 //第一个点的经度
- // 0xB004
- // 0xB005
- // 0xB006
- #define SAREA1_LAT_1_2 0xB007 //第一个点的纬度
- // 0xB008
- // 0xB009
- // 0xB00A
- #define SAREA1_LON_2_2 0xB00B //第二个点的经度
- // 0xB00C
- // 0xB00D
- // 0xB00E
- #define SAREA1_LAT_2_2 0xB00F //第二个点的纬度
- // 0xB010
- // 0xB011
- // 0xB012
- #define SAREA1_PAR_2 0xB013 //第一个区域的的标志0XAA表示是禁入标志,0X55表示是禁出标志
- //-----------------------------------------------------------------
- #define SAREA2_LON_1_2 0xB014 //第一个点的经度
- // 0xB015
- // 0xB016
- // 0xB017
- #define SAREA2_LAT_1_2 0xB018 //第一个点的纬度
- // 0xB019
- // 0xB01A
- // 0xB01B
- #define SAREA2_LON_2_2 0xB01C //第二个点的经度
- // 0xB01D
- // 0xB01E
- // 0xB01F
- #define SAREA2_LAT_2_2 0xB020 //第二个点的纬度
- // 0xB021
- // 0xB022
- // 0xB023
- #define SAREA2_PAR_2 0xB024 //第二个区域的标志,OxAA表示是禁入标志,0X55表示是禁出标志
- //-----------------------------------------------------------------
- #define SAREA3_LON_1_2 0xB025 //第一个点的经度
- // 0xB026
- // 0xB027
- // 0xB028
- #define SAREA3_LAT_1_2 0xB029 //第一个点的纬度
- // 0xB02A
- // 0xB02B
- // 0xB02C
- #define SAREA3_LON_2_2 0xB02D //第二个点的经度
- // 0xB02E
- // 0xB02F
- // 0xB030
- #define SAREA3_LAT_2_2 0xB031 //第二个点的纬度
- // 0xB032
- // 0xB033
- // 0xB034
- #define SAREA3_PAR_2 0xB035 //第三个区域的标志,OxAA表示是禁入标志,0X55表示是禁出标志
- //-----------------------------------------------------------------
- #define SAREA4_LON_1_2 0xB036 //第一个点的经度
- // 0xB037
- // 0xB038
- // 0xB039
- #define SAREA4_LAT_1_2 0xB03A //第一个点的纬度
- // 0xB03B
- // 0xB03C
- // 0xB03D
- #define SAREA4_LON_2_2 0xB03E //第二个点的经度
- // 0xB03F
- // 0xB040
- // 0xB041
- #define SAREA4_LAT_2_2 0xB042 //第二个点的纬度
- // 0xB043
- // 0xB044
- // 0xB045
- #define SAREA4_PAR_2 0xB046 //第四个区域的标志,OxAA表示是禁入标志,0X55表示是禁出标志
- //-----------------------------------------------------------------
- #define SAREA_IN_NUM 0xB047 //区域中的存储禁入区域的个数
- #define SAREA_OUT_NUM 0xB048 //区域中的存储禁出区域的个数
- #define SAREA_DATA_FE 0xBFFA
- //5,存储相关线路报警数据的参考数据4K,1个0XFFF
- #define SLINE_NUM_1 0xBFFE //线路数据的个数存储
- #define SLINE_NUM_2 0xBFFF //线路数据个数的取反
- #define SLINE_DATA_1 0xC000 //线路数据的第一个点
- //........................................
- //..................................0xC007
- #define SLINE_DATA_2 0xC008 //线路数据的第二个点
- //........................................
- //..................................0xC00F
- #define SLINE_DATA_3 0xC010 //线路数据的第三个点
- //........................................
- //..................................0xC017
- #define SLINE_DATA_4 0xC018 //线路数据的第四个点
- //........................................
- //..................................0xC01F
- #define SLINE_DATA_5 0xC020 //线路数据的第五个点
- //........................................
- //..................................0xC027
- #define SLINE_DATA_6 0xC028 //线路数据的第六个点
- //........................................
- //..................................0xC02F
- #define SLINE_DATA_7 0xC030 //线路数据的第七个点
- //........................................
- //..................................0xC037
- #define SLINE_DATA_8 0xC038 //线路数据的第八个点
- //........................................
- //..................................0xC03F
- #define SLINE_DATA_9 0xC040 //线路数据的第九个点
- //........................................
- //..................................0xC047
- #define SLINE_DATA_10 0xC048 //线路数据的第十个点
- //........................................
- //..................................0xC04F
- #define SLINE_DATA_11 0xC050 //线路数据的第十一个点
- //........................................
- //........................................
- //........................................
- #define SLINE_DATA_30 0xC0E8
- //........................................
- //..................................0xC0EF
- #define SLINE_DATA_31 0xC0F0
- //........................................
- //..................................0xC0F7
- #define SLINE_DATA_32 0xC0F8
- //........................................
- //..................................0xC0FF
- #define SLINE_DATA_33 0xC100
- //........................................
- //........................................
- //........................................
- #define SLINE_DATA_60 0xC1E8
- //........................................
- //..................................0xC1EF
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- //6,存储接收到记录仪驾驶员信息的外部SRAM的位置
- #define SRAM_DRIVER_INFO_VAILD 0xD000 //表示后面存储的驾驶员的信息的有效性的标志
- #define SRAM_DRIVER_INFO_CODE 0xD001
- // 0xD002
- // 0xD003 //表示驾驶员的代码,3个字节
- #define SRAM_DRIVER_INFO_CERT 0xD004
- // ...... //表示驾驶员的证件号,18个字节
- #define SRAM_DRIVER_INFO_NAME 0xD016
- // ...... //表示驾驶员的姓名,8个字节
- #define SRAM_DRIVER_INFO_END 0xD01E //最后一个字节
- //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- //六,其他定义
- #define NULL_2 0 //在SRAM中填充的有效和无效的标志,为0的时候表示可以写入新的AT指令
- #define VAILD_2 1 //在SRAM中为1表示后面的数据未处理掉。不能在写入新的AT指令数据
- #endif