標(biāo)題:
MSP430實(shí)現(xiàn)串口通訊
[打印本頁(yè)]
作者:
gan@jing
時(shí)間:
2018-1-18 11:15
標(biāo)題:
MSP430實(shí)現(xiàn)串口通訊
MSP430實(shí)現(xiàn)串口通訊,uart代碼部分
單片機(jī)源程序如下:
#include <MSP430x14x.h>
#include "df_uart.h"
#include "packet.h"
#include "protocol.h"
#define USART_DIR P3DIR
#define USART_SEL P3SEL
#define USART_IN P2IN
#define USART_OUT P3OUT
#define UTXD0 BIT4
#define URXD0 BIT5
void UartInit()
{
//設(shè)置管腳為第二功能
USART_SEL |= UTXD0 + URXD0;
//8位數(shù)據(jù),1位停止位,奇校驗(yàn)
UCTL0 = CHAR + PENA + SWRST;
//選擇UCLK = ACLK
UTCTL0 = SSEL0;
//設(shè)置波特率為9600bits/s
UBR00 = 0x3;
UBR10 = 0;
UMCTL0 = 0x4A;
UCTL0 &= ~ SWRST;
//打開(kāi)模塊USART0
ME1 |= UTXE0 + URXE0;
//打開(kāi)USART0接收中斷
IE1 |= URXIE0;
}
void SendUart(unsigned char *pBuffer, unsigned char n_byte)
{
unsigned char q0;
for(q0 = 0; q0 < n_byte; q0++)
{
//判斷是否發(fā)送完畢
while((IFG1 & UTXIFG0) == 0);
TXBUF0 = *pBuffer;
pBuffer++;
}
}
#pragma vector = USART0RX_VECTOR
__interrupt void Usart0Rx()
{
if((U0RCTL & RXERR) == 0)
{
AddUsData(RXBUF0);
……………………
…………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
uart.rar
(921 Bytes, 下載次數(shù): 9)
2018-1-18 11:14 上傳
點(diǎn)擊文件名下載附件
code
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1