main.c
上传用户:buddy3
上传日期:2022-06-12
资源大小:100k
文件大小:3k
源码类别:

GPS编程

开发平台:

C/C++

  1. #include "..config.h"
  2. char Edition[Edition_Len] = "MSP430_V1.0";                              //终端版本号
  3. char TerminalNumber[TNumber_Len] = "5710106000";//"QJ_SB2010_MSP430";  //终端ID号
  4. //第0位表示 GPRS      0表示GPRS , 1表示GSM
  5. //第1位表示 GPS       0表示定位 , 1表示没定位
  6. char State[State_Len] = "11";                           //终端系统状态      
  7. /*
  8. **********************************************************************
  9. 函数:Clock_Init
  10. 参数:无
  11. 返回:无
  12. 功能:时钟晶振初始化
  13. **********************************************************************
  14. */
  15. void Clock_Init(void)
  16. {
  17. //DIVA1,0=0:ACLK divider number=1
  18. //XTS=0:LFXT1 low Freq. XT2OFF=0:XT2 Oscilator ON,XT5V=0: should always be reset
  19. BCSCTL1 = DIVA_0 + RSEL2 + RSEL1 + RSEL0;//0Xx87;;
  20. BCSCTL1 &=~ (XT2OFF + XTS + XT5V);
  21. //SELM1,0=2:MCLK source select DCOCLK, DIVM1,0=0:MCLK divider number=1, 
  22. //SELS=0: SMCLK resource select XT2CLK, DEIS1,0=0:SMCLK divider number=1
  23. //DCOR=0: Internal resistor enable(DCO start)
  24. BCSCTL2 = SELS + DIVS_0 + SELM_0 + DIVM_0;//0x08;
  25. }
  26. /*
  27. **********************************************************************
  28. 函数:WTD_Init
  29. 参数:无
  30. 返回:无
  31. 功能:看门狗初始化
  32. **********************************************************************
  33. */
  34. void WTD_Init(void)
  35. {
  36.   WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  37.   //WDTCTL = WDTPW;
  38.   
  39.   //WDTCTL = WDT_ADLY_250;                    // WDT 250ms, ACLK, interval timer
  40.   //IE1 |= WDTIE;                             // Enable WDT interrupt
  41.   //P1DIR |= 0x01;                            // Set P1.0 to output direction
  42.   //_BIS_SR(LPM3_bits + GIE);                 // Enter LPM3 w/interrupt
  43. }
  44. /*
  45. **********************************************************************
  46. 函数:Clear_WDT
  47. 参数:无
  48. 返回:无
  49. 功能:看门狗计数器清零
  50. **********************************************************************
  51. */
  52. void Clear_WDT(void)
  53. {
  54.   WDTCTL = WDTPW + WDTCNTCL;//计数器清零 (WDTCTL = 0X5A008)
  55. }
  56. /*
  57. **********************************************************************
  58. 函数:main
  59. 参数:无
  60. 返回:无
  61. 功能:main主函数
  62. **********************************************************************
  63. */
  64. void main(void)
  65. {
  66.   Clock_Init();   //时钟初始化
  67.   WTD_Init();     //看门狗初始化
  68.   LED_Init();     //LED初始化
  69.   
  70.   UART0_Init();
  71.   UART1_Init();
  72.   UART0_SendStr_char("=Program_Start=rn");
  73.   //MoniUART_Init();
  74.   _EINT();        //通用中断允许
  75.   
  76.   while(1)
  77.   {
  78.     //Clear_WDT();
  79.     GSM_Init();
  80.     LED_Prol();
  81.     ReadUART0();
  82.     ReadUART1();
  83.     SendGPSData();
  84.   }
  85. }