main_init.c
上传用户:zanguozi01
上传日期:2014-02-19
资源大小:155k
文件大小:5k
源码类别:

GPS编程

开发平台:

Others

  1. /********************************************************
  2. * 文件名:  Main_Init.C
  3. * 创建时间:2004年12月7日
  4. * 创建人:  
  5. * 版本号:  1.00
  6. * 功能:   针对程序刚上电阶段,对系统的一些初始化的操作
  7. * 文件属性:公共文件
  8. * 修改历史:(每条详述)
  9. 2004年12月15日
  10. ********************************************************/
  11. #include <msp430x14x.h>
  12. #include "SPI45DB041.h"
  13. #include "Define_Bit.h"
  14. #include "D_Buffer.h"
  15. #include "Other_Define.h"
  16. #include "General.h"
  17. #include "Uart01.h"
  18. #include "Main_Init.h"
  19. #include "Sub_C.h"
  20. #include "M22_AT.h"
  21. #include "Do_SRAM.h"
  22. #include "Msp430_Flash.h"
  23. /*
  24. #include "SPI45DB041.h"
  25. #include "W_Protocol.h"
  26. #include "Handle_Protocol.h"
  27. #include "Uart01.h"
  28. #include "Define_Bit.h"
  29. #include "D_Buffer.h"
  30. #include "Other_Define.h"
  31. #include "General.h"
  32. #include "Main_Init.h"
  33. #include "Sub_C.h"
  34. #include "Check_GSM.h"
  35. #include "Do_Reset.h"
  36. #include "Do_GSM.h"
  37. #include "Do_Handle.h"
  38. #include "Do_GPS.h"
  39. #include "Do_Disp.h"
  40. #include "Do_Other.h"
  41. */
  42. //#define Debug_GSM_COM1
  43. /********************************************************
  44. * 函数名:Init_MAIN_Module
  45. 作用域:外部文件调用
  46. * 功能:  这个模块是在系统上电或者系统两个模块的控制电源有重新上电的时候,需要运行
  47. 针对FLASH进行操作的初始化模块。具体细节见FLASH的详细描述
  48. * 参数:  无
  49. * 返回值:针对部分相关的全局变量进行附值操作。
  50. * 创建人:
  51. *
  52. * 修改历史:(每条详述)
  53. ********************************************************/
  54. void Init_MAIN_Module(void)
  55. {
  56.     unsigned int i;
  57. Clear_Exter_WatchDog();
  58. gCycle_Send_Status=NOP_DATA;
  59. //显示MSP430两个信息扇区的数据内容
  60. Read_SegAB(0);
  61. Send_COM1_Byte('A');
  62. Send_COM1_Byte('[');
  63. for(i=0;i<128;i++)
  64. {
  65. Send_COM1_Byte(ASCII(gGeneral_Buffer[i]/0x10));
  66. Send_COM1_Byte(ASCII(gGeneral_Buffer[i]%0x10));
  67. }
  68. Send_COM1_Byte(']');Send_COM1_Byte(0x0d);Send_COM1_Byte(0x0a);
  69. Send_COM1_Byte(0x0d);Send_COM1_Byte(0x0a);
  70. gTimer=0;
  71. while(gTimer<1500){Clear_Exter_WatchDog();}
  72. Read_SegAB(1);
  73. Send_COM1_Byte('B');
  74. Send_COM1_Byte('[');
  75. for(i=0;i<128;i++)
  76. {
  77. Send_COM1_Byte(ASCII(gGeneral_Buffer[i]/0x10));
  78. Send_COM1_Byte(ASCII(gGeneral_Buffer[i]%0x10));
  79. }
  80. Send_COM1_Byte(']');Send_COM1_Byte(0x0d);Send_COM1_Byte(0x0a);
  81. Send_COM1_Byte(0x0d);Send_COM1_Byte(0x0a);
  82. /********************************************************
  83. 一,第1个扇区和第2个扇区的数据的处理(这里指的是1,2扇区)
  84. ********************************************************/
  85. gTimer=0;
  86. while(gTimer<1500){Clear_Exter_WatchDog();}
  87. Load_Info_One();
  88. Send_COM1_Byte(0x0d);Send_COM1_Byte(0x0a);
  89. /********************************************************
  90. 二,
  91. 1,存储拨出电话记录的页
  92. 2,存储通话记录的页
  93. ********************************************************/
  94. /********************************************************
  95. 三,存储系统信息2的两个扇区(这里指的是5,6扇区)
  96. ********************************************************/
  97. gTimer=0;
  98. while(gTimer<1500){Clear_Exter_WatchDog();}
  99. Load_Info_Two();
  100. Send_COM1_Byte(0x0d);Send_COM1_Byte(0x0a);
  101. /********************************************************
  102. 四,处理区域报警的参数
  103. ********************************************************/
  104. gTimer=0;
  105. while(gTimer<1500){Clear_Exter_WatchDog();}
  106. Load_Info_Three();
  107. Send_COM1_Byte(0x0d);Send_COM1_Byte(0x0a);
  108. /********************************************************
  109. 五,处理线路偏离报警的参数
  110. ********************************************************/
  111. gTimer=0;
  112. while(gTimer<1500){Clear_Exter_WatchDog();}
  113. Load_Info_Four();
  114. Send_COM1_Byte(0x0d);Send_COM1_Byte(0x0a);
  115. //增加线路偏离的数据
  116. /********************************************************
  117. 六,其他变量和缓冲的初始化
  118. ********************************************************/
  119. gTimer=0;
  120. while(gTimer<1500){Clear_Exter_WatchDog();}
  121. Reset_Variable();
  122. /********************************************************
  123. 七,其他方面的初始化
  124. ********************************************************/
  125. gOFF_Power_S=0;
  126.     gGeneral_Flag&=~OFF_M22_F_1; //取消掉电G20的标志位
  127.     gGeneral_Flag&=~OFF_GPS_F_1; //取消掉电GPS的标志位
  128.     gPhone_Status=READY;gStatus1_Flag&=~PHONE_ONLINE_F_1;
  129. gRload_Flash_Par_Timer=0;
  130. gSet_Distance_Info_Count=0;
  131. SRAM_Init();
  132. SRAM_Write(PHONE_AT_2+0,NULL_2);
  133. for(i=PHONE_AT_2+1;i<END_SRAM_2;i++)
  134. {
  135. SRAM_Write(i,0);
  136. }
  137. //gStatus1_Flag|=ACC_ON_F_1;
  138. gON_OFF_Temp0 &=~ TCP_LAND_ON_OFF_1;
  139. gStatus2_Flag |= TCP_ON_OFF_F_1;
  140. //默认手柄开启
  141. gStatus1_Flag |= HANDLE_ON_0_F_1;
  142. gStatus1_Flag &=~ HANDLE_ON_1_F_1;
  143. //默认显示终端开启
  144. gStatus1_Flag|=DISPLAY_ON_F_1;
  145. }