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

📄 449_232_ok.c

📁 RS232 UART模块 调通 有中文解释
💻 C
字号:
#include "msp430x44x.h"
//******************************************************************************
//** 软串:    波特率2400 偶校验
//** 硬件连接: J_USART的5和2
//******************************************************************************
void Init_Uart();                             //异步串口初始化                           
unsigned i;
/*************************************************
                     主函数		
*************************************************/
void main(void)  
{        
    WDTCTL = WDTPW + WDTHOLD;                //关看门狗
    Init_Uart();                             //UART模块初始化  
    while(1);
}
/*************************************************
                UART模块初始化  
  功能:	完成异步串口寄存器设置,并打开相关中断  		
  说明: 8位数据,偶校验,波特率为2400  		
*************************************************/
void Init_Uart()
{
    //FLL_CTL0 |= XCAP14PF;                   //设置负载电容
    UCTL0 |= SWRST + CHAR + PENA + PEV;     //SWRST置位,8位数据,校验允许,偶校验
    //P3SEL |= 0x60;                          //设置端口,P3.6和P3.7用作USART0 TXD0/RXD0  
    //P3DIR |= 0x40;                          //P3.6输出
    P2SEL |= BIT4 + BIT5;                    //设置端口,P2.4和P2.5用作USART0 TXD1/RXD1                       
    P2DIR |= BIT4;                          //P2.4输出
    
    UTCTL0 = SSEL0;                        //选择时钟ACLC
    UBR00 = 0x0d;                           //波特率设置2400
    UBR10 = 0x00;                           //分频系数13。65
    UMCTL0 = 0x6B;                          //波特率调整(0.65*8=5)                      
    ME1 |= UTXE0 + URXE0;                   //开收发模块                 
    UCTL0 &= ~SWRST;                        //SWRST清零
    
    IE1 |= URXE0;                           //开中断使能 
    _EINT();                                //开总中断
}
/*************************************************/
//                UART接收中断 
/*************************************************/
#pragma vector=UART0RX_VECTOR
__interrupt void usart0_rx(void)
{                 
    while ((IFG1 & UTXIFG0) == 0);          //查询是否发送完   
    TXBUF0 = RXBUF0;                        //读出接收到的数据  
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -