📄 uart.c
字号:
#include <msp430x14x.h>
#include "uart.h"
unsigned char send_buffer1[30];
unsigned int send_num_data;
unsigned char re_buffer1[30];
unsigned int receive_num_data;
void EN_uart(void)
{
P3DIR|=BIT3;
P4DIR|=BIT0;
P3OUT|=BIT3;
P4OUT&=~BIT0;
}
void DIS_uart(void)
{
P3DIR|=BIT3;
P4DIR|=BIT0;
//P3OUT|=(BIT3);
P3OUT|=BIT3;
P4OUT&=~BIT0;
}
void uart_init(void)
{
DIS_uart();
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;// /0x0D; // 32k/9600 - 13.65
UBR10 = 0x00; //
UMCTL0 = 0x4a;//0x6B; // Modulation
UCTL0 &= ~SWRST; // Initialize USART state machine
IE1 |= URXIE0; // Enable USART0 RX interrupt
}
void sent_byte(unsigned char data)
{
while (!(IFG1 & UTXIFG0)); // USART0 TX buffer ready?
TXBUF0 = data; // RXBUF0 to TXBUF0
}
// UART0 RX ISR will for exit from LPM3 in Mainloop
#pragma vector=UART0RX_VECTOR
__interrupt void usart0_rx (void)
{
_BIC_SR_IRQ(LPM3_bits); // Clear LPM3 bits from 0(SR)
re_buffer1[receive_num_data]=RXBUF0;
receive_num_data++;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -