📄 uart0.c
字号:
#include <msp430x26x.h>
#include "DS18B20.c"
/*******************************************
函数名称:InitUART
功 能:初始化UART端口
参 数:无
返回值 :无
********************************************/
void InitUART(void)
{
if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF)
{
while(1); // If calibration constants erased
// do not load, trap CPU!!
}
// BCSCTL1 = CALBC1_1MHZ; // Set DCO
// DCOCTL = CALDCO_1MHZ;
P3SEL = 0x30; // P3.4,5 = USCI_A0 TXD/RXD
UCA0CTL1 |= UCSSEL_2; // SMCLK
UCA0BR0 = 0x39; // 1MHz 115200
UCA0BR1 = 0x01; // 1MHz 115200
UCA0MCTL = UCBRS2 + UCBRS0; // Modulation UCBRSx = 5
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state
IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt
}
/*******************************************
函数名称:Send1Char
功 能:向PC机发送一个字符
参 数:sendchar--要发送的字符
返回值 :无
********************************************/
void Send1Char(uchar sendchar)
{
while (!(IFG2 & UCA0TXIFG)); //等待发送寄存器为空
UCA0TXBUF = sendchar;
}
/*******************************************
函数名称:PutSting
功 能:向PC机发送字符串
参 数:ptr--指向发送字符串的指针
返回值 :无
********************************************/
void PutString(uchar *ptr)
{
while(*ptr != '\0')
{
Send1Char(*ptr++); // 发送数据
}
while (!(IFG2 & UCA0TXIFG));
UCA0TXBUF = '\n'; //发送换行指令
}
/*******************************************
函数名称:Get1Char
功 能:接收一个来自PC机的字符
参 数:无
返回值 :接收到的字符
********************************************/
uchar Get1Char(void)
{
while (!(IFG2 & UCA0RXIFG)); //等待接收到字符
return UCA0RXBUF;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -