📄 my_uart.h
字号:
//西安邮电学院 测控0502班 薛峰
//my_uart.h
/////////////////////////////////////////////////////////////
#include<string.h>
void UARTInit(void);
void IntToString(int long,uchar *); //数字转换成字符串
int IntLength(int long); //计算数字位数
void UartSendString(uchar *); //发送一个字符串(有0结束标志)
void UartSendSomeByte(uchar *,int); //发送一个字符数组(无0结束标志)
void UartSendSomeByte(uchar *str,int num)
{
int i;
for(i = 0;i < num;i++)
{
TXBUF0 = *(str + i);
while(!(IFG1 & UTXIFG0));
}
}
void UartSendString(uchar *str)
{
int i;
for(i = 0;i < strlen(str);i++)
{
TXBUF0 = *(str + i);
while(!(IFG1 & UTXIFG0));
}
}
int IntLength(int long num)
{
int i = -1;
do
{
num /= 10;
i++;
}while(num);
return i;
}
void IntToString(int long num,uchar *str)
{
int i,j;
i = IntLength(num);
j = i + 1;
while(i >= 0)
{
*(str + i) = num % 10 + '0';
num /= 10;
i--;
}
*(str + j) = 0;
}
void UARTInit(void)
{
P3SEL |= 0x30; // P3.4,5 = USART0 TXD/RXD
ME1 |= UTXE0 + URXE0; // Enable USART0 TXD/RXD
UCTL0 |= CHAR; // 8-bit character
UTCTL0 |= SSEL0; // UCLK = ACLK
UBR00 = 0x03; // 32k/9600 - 3.41
UBR10 = 0x00; //
UMCTL0 = 0x4A; // Modulation
UCTL0 &= ~SWRST; // Initialize USART state machine
// IE1 |= URXIE0; // Enable USART0 RX interrupt
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -