⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zheng_init.c

📁 zigbee子节点源代码
💻 C
字号:
#include "include.h"
 Coefficientof Timelinearity;

//UINT64 temp;

void hal_uInit(void) {	
		
        U0CTL  = 0x10;	             // SW  reset, 8-bit transfer, SPI master
	                             // Data on Rising Edge, SMCLK, 3-wire

	U0BR0  = 0x03;		 	     // SPICLK set baud
	U0BR1  = 0;                         // Dont need baud rate control register 2 - clear it
	U0MCTL = 0x52;		 	    // Dont need modulation control
        U0TCTL = SSEL0;
        ME1 |= 0x80;		
	P3SEL= 0x10;				// Select Peripheral functionality (SPI)
	P3DIR= 0x10;	
        U0CTL &= ~SWRST;        // Configure as outputs(SIMO,CLK,CSn)
}
		            

void time_A0_Init(void)
{
  TACTL=TASSEL1+TACLR;     //  SELECT MCLK 8M
  CCTL0=CCIE;             //ENABLE THE INTERUPT
  CCR0=60;                 //10 微秒 
  TACTL|=MC0;             //SELECT THE ADD MODEL
  _EINT();                //ENABLE GLOBE INTERUPT
  
  
}

#ifdef __ICC430__
#pragma vector=TIMERA0_VECTOR
__interrupt void Time_A0(void)
// MSP430-GCC C/C++ compiler for MSP430
#elif defined(__MSP430__)
interrupt (TIMERA0_VECTOR) Time_A0(void)
#endif
{
  //P1OUT ^=  BM(LED2);
  CCTL0&=~CCIFG;
   //ADdata.n++;
  if(Timeinfo.specialtime<8640000000)
  Timeinfo.specialtime++;
  else
  {
    Timeinfo.specialtime=0;
  } 
  /*////////采样////////
   
  
  if ( ADdata.n ==499)
  {
    ADdata.n=0;
   WDTCTL=WDT_ARST_1000;
   ADC12CTL0&=~ENC;
   ADdata.ADvalue16[0] = ADC12MEM0;
   ADC12CTL0|=ENC+ADC12SC;
  } 
  */
    
}
  
  
  
  
  
 /* ///做 线性回归算法 改变当前时间  当前时间通过简单的线性回归来逼近
  get_current_time();
  convert_time_format64(UINT8 *time);
  huigui_function(UINT8 time_offset,UINT8 global_time);
  if ()
  {
    get_global_time();
    changelocaltime();
  }
    
 // UINT8 instancetime[8]; 
  /////////////////////   软时钟为本地提供时间信息  ////////////////////////////
  if(Timeinfo.mSecond==1000&&Timeinfo.Second==60&&Timeinfo.ten_uSecond==100&&Timeinfo.Minute==60&&Timeinfo.Hour==23)
   {
     Timeinfo.Hour=0;
     
   }
 if(Timeinfo.mSecond==1000&&Timeinfo.Second==60&&Timeinfo.ten_uSecond==100&&Timeinfo.Minute==60)
   { 
    for ( int j=0;j<1;j++)
         {
            
          TXBUF0=Timeinfo.Hour;
          while ((UTCTL0&0x01)==0);
         }
     Timeinfo.Minute=0;
     Timeinfo.Hour++;
   }
  if(Timeinfo.mSecond==1000&&Timeinfo.ten_uSecond==100&&Timeinfo.Second==60)
   { 
  for ( int j=0;j<1;j++)
         {
            
          TXBUF0=Timeinfo.Minute;
          while ((UTCTL0&0x01)==0);
         }
    // ;
     Timeinfo.Second=0;
     Timeinfo.Minute++;
   }
  if(Timeinfo.mSecond==1000&&Timeinfo.ten_uSecond==100)
   { 
     
     P1OUT ^=  BM(LED3);
     Timeinfo.Second++;
     Timeinfo.mSecond=0;
   }    
   if((Timeinfo.ten_uSecond)==100)///ERROR 990 uSeconds not 999uSecond
   {
     
     Timeinfo.ten_uSecond=0;
      Timeinfo.mSecond++;
   } 
 
   else    
   {
     Timeinfo.ten_uSecond++;
   } 
   _NOP();
 //   get_local_time(instancetime);
  //   temp = convert_time_format64(instancetime);
  */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -