📄 449_232_ok.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 + -