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

📄 zheng_init.c

📁 zigbee中心节点源代码
💻 C
字号:
#include "include.h"



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)			    // Configure as outputs(SIMO,CLK,CSn)
	
		            // Module enable
		                           // Remove RESET
} // SpiInit

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
{
  
   CCTL0&=~CCIFG;
  /*
   if ( Timeinfo.specialtime == Timeinfo.Sendbeacontime)
   {
     Timeinfo.SendbeaconFLAG=FALSE;
     Timeinfo.Sendbeacontime=Timeinfo.Sendbeacontime+100000 ;
     _NOP();
   }*/
   if(Timeinfo.specialtime<8640000000)//
   Timeinfo.specialtime++;
   else
   {
     Timeinfo.specialtime=0;
   }
  
  /*
   
  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);
         }
     P1OUT ^=  BM(LED2);
     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++;*/
   
   
  
}

⌨️ 快捷键说明

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