📄 system_init.c
字号:
#include<msp430x24x.h>
#include"System_Init.h"
/************************************
函数名称:
功 能:主机UART1初始化
参 数:
描 述 :这里,用的是P3.6,P3.7口即UART1
***********************************/
void Master_Init_UART1(void)
{
UCA1CTL0 =UCSPB + UCMSB + UCMODE_2; //8位数据位,1位停止位,地址位多机模式
UCA1CTL1 =UCSSEL_1; //以ACLK为时钟
UCA1BR0=0x03; //使用32kHZ晶振,波特率为9600bps
UCA1BR1=0x00;
UCA1MCTL=0x4A;
P3SEL=0xC0; //选择P3.6、P3.7为UART1
P3DIR=0x40; //P3.6输出
UCA1CTL1 &=~UCSWRST; //SWRDT复位,UART允许
UC1IE=UCA1RXIE; //接收允许中断
}
/************************************
函数名称:
功 能:主机定时器初始化
参 数:
返回 值 :
***********************************/
void Master_Init_TimerA(void)
{
TACTL =TASSEL1 +TACLR; //选择的时钟为MCLK,8M
TACTL |=ID1; //二分频
CCR0=4000;
CCTL0 =CCIE; //定250MS
TACTL |=MC1;
}
/************************************
函数名称:
功 能:主机端口初始化
参 数:
返回 值 :
***********************************/
void Master_Init_Port(void) //等下将所有端口设为输出,避免外来干扰
{
P1DIR=0xFF;
P1OUT=0x00;
P2DIR=0xFF;
P2OUT=0x00;
P3DIR=0xFF;
P3OUT=0x00;
P4DIR=0xFF;
P4OUT=0x00;
P5DIR=0xFF;
P5OUT=0x00;
P6DIR=0xFF;
P6OUT=0x00;
}
/************************************
函数名称:
功 能:系统时钟初始化
参 数:
返 回 值 :
*************************************/
void Master_Init_CLK(void)
{
unsigned int i;
BCSCTL1 = 0x00; //将寄存器的内容清零
//XT2震荡器开启
//LFTX1工作在低频模式
//ACLK的分频因子为1
do
{
IFG1 &= ~OFIFG; // 清除OSCFault标志
for (i = 0xFF; i > 0; i--); //稳定时间
}
while ((IFG1 & OFIFG)!=0); // 如果OSCFault =1
//将寄存器的内容清零
BCSCTL2 = 0X00;
//MCLK的时钟源为TX2CLK,分频因子为1
BCSCTL2 |= SELM1;
//SMCLK的时钟源为TX2CLK,分频因子为1
BCSCTL2 |= SELS;
}
/************************************
函数名称:
功 能:主机DELAY MS
参 数:
返回 值 :
***********************************/
void Master_Delay_ms(unsigned long nValue)//毫秒为单位,8MHz为主时钟
{
unsigned long nCount;
int i;
unsigned long j;
nCount = 2667;
for(i = nValue;i > 0;i--)
{
for(j = nCount;j > 0;j--);
}
}
/************************************
函数名称:
功 能:主机DELAY US
参 数:
返回 值 :
***********************************/
void Master_Delay_us(unsigned long nValue)//微秒为单位,8MHz为主时钟
{
int nCount;
int i;
int j;
nCount = 3;
for(i = nValue;i > 0;i--)
{
for(j = nCount;j > 0;j--);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -