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

📄 my_uart.h

📁 由单片机控制串口modem
💻 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 + -