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

📄 init.c

📁 温湿度变送器的下位机代码
💻 C
字号:

#include "SysDef.h"


#define T1000MS	576000
#define T100MS	5760
#define T50MS	2880                                     //57600/2880=20Hz  = 0.05mS


void Delay0_1ms(U8 TimeMS)
{
  for(U8 i = 0;i<TimeMS;i++)
      for (U8 j=0; j<94; j++); 
    
}


void InitBCS()
{
	unsigned int i;
	//BCSCTL1&=~XTS;
	_BIS_SR(OSCOFF);
	BCSCTL1&=~XT2OFF;
         // BCSCTL1 |= XTS;                           // ACLK = LFXT1 = HF XTAL
	BCSCTL1 |= RSEL0+RSEL1+RSEL2;
	DCOCTL = 0xE0;
	do
	{
		IFG1 &= ~OFIFG;						// Clear OSCFault flag
		for(i=0xFF;i>0;i--);				// Time for flag to set
	}
	while((IFG1 & OFIFG) == OFIFG);			// OSCFault flag still set?
	_NOP();		
          
          BCSCTL2 |= SELM_2+DIVM_0;	//MCLK=DCO,
          BCSCTL2 |= SELS+DIVS_1;	//  SMCLK Divider 1: /2 	        

}


void InitTmrA()
{
	//"只能用ACLK或SMCLK
	TACTL = TASSEL_2 + ID_3 +TACLR;         //"// SMCLK, 8 dived.
	CCTL0 = CCIE;                       	//"CCR0 interrupt enabled
	CCR0  = T1000MS;                 
	TACTL|= MC0;                        	//"Start Timer_A in continuous mode
}
unsigned char SysInit()
{
      WDTCTL = WDTPW + WDTHOLD;		// Stop WDT
      InitBCS();
      //IICEDIR &= IICEWP;
     IintIIC();
      InitComm0();
      InitTmrA();          
      InitSettting();
      return 1;
}









⌨️ 快捷键说明

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