📄 uart.h
字号:
void 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--);
}
}
void Init_CLK(void)
{
unsigned int i;
BCSCTL1 &= ~XT2OFF; //开启高频晶振
do //检测高频晶振是否有效
{
IFG1 &= ~OFIFG; //清除OSCFault标志
for (i = 0x20; i > 0; i--);
}
while ((IFG1 & OFIFG) == OFIFG); //如果OSCFault =1
BCSCTL2 |= SELM1; //主时钟选择高频晶振
BCSCTL2 |= SELS; //辅助时钟选择高频晶振
return;
}
//GSM串口初始化
void Init_UART1(void)
{
U1CTL |= SPB+CHAR;
U1TCTL |= SSEL1;
UBR0_1 = 0X41; // 波特率为9600
UBR1_1 = 0X03;
UMCTL_1 = 0X00;
ME2 |= UTXE1 + URXE1; // 使能UART1的TXD和RXD模块
U1CTL &= ~SWRST;
IE2 |= URXIE1; // 使能UART1的RX中断
P3SEL |= BIT6; // 设置P3.6为UART1的TXD
P3SEL |= BIT7; // 设置P3.7为UART1的RXD
P3DIR |= BIT6; // P3.6为输出管脚
return;
}
//GPS串口初始化
void Init_UART0(void)
{
U0CTL |= SPB+CHAR;
U0TCTL |= SSEL1;
//=====================================//
UBR0_0 = 0X83; // 波特率为4800
UBR1_0 = 0X06;
UMCTL_0 = 0X6F;
//======================================//
// UBR0_0 = 0Xa1; // 波特率为19200
// UBR1_0 = 0X01;
// UMCTL_0 = 0X00;
//======================================//
// UBR0_1 = 0X41; // 波特率为9600
// UBR1_1 = 0X03;
// UMCTL_1 = 0X00;
//=======================================//
ME1 |= UTXE0 + URXE0; // 使能UART1的TXD和RXD模块
U0CTL &= ~SWRST;
IE1 |= URXIE0; //读写中断使能
P3SEL |= BIT4; // 设置P3.4为UART1的TXD
P3SEL |= BIT5; // 设置P3.5为UART1的RXD
P3DIR |= BIT4; // P3.6为输出管脚
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -