?? main.c
字號:
/*************************************************
程序功能:通過RS485端口接收字符并在1602液晶上顯示
--------------------------------------------------
測試方法:用另一個RS485發射器,通過RS485總線向學習板
發送數據(必須是可顯示字符對應的ASCII碼),
觀察液晶顯示
**************************************************/
#include <msp430x14x.h>
#include "BoardConfig.h"
#include "cry1602.h"
#define DRE_out P3DIR |= BIT3 //連接485芯片的DE,RE端口的IO設置為輸出狀態
#define DE P3OUT |= BIT3 //設置485芯片處于發送狀態
#define RE P3OUT &= ~BIT3 //設置485芯片處于接收狀態
uchar pX = 0,pY = 0;
void Set_UART1(void);
/****************主函數****************/
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; //關閉看門狗
BoardConfig(0xbf);
DRE_out;
RE;
Set_UART1();
LcdReset(); //出示化液晶
LPM3;
}
/*******************************************
函數名稱:UART0_RX
功 能:UART0的中斷服務函數
參 數:無
返回值 :無
********************************************/
#pragma vector=UART0RX_VECTOR
__interrupt void UART0_RX (void)
{
Disp1Char(pX++,pY,RXBUF0);
if(pX == 16)
{
pX = 0;
pY ^= 1;
}
}
/*******************************************
函數名稱:Set_UART1
功 能:設置MCU的UART1對應的寄存器
參 數:無
返回值 :無
********************************************/
void Set_UART1(void)
{
P3SEL |= 0xC0; //將P3.6,P3.7選做UART1的通信端口
ME2 |= UTXE1 + URXE1; //使能USART1的TXD和RXD
UCTL1 |= CHAR; //選擇8-bit字符
UTCTL1 |= SSEL0; //驅動時鐘選擇ACLK
UBR01 = 0x0D; //波特率2400
UBR11 = 0x00;
UMCTL1 = 0x6B; //調整
UCTL1 &= ~SWRST; //初始化UART狀態機
IE2 |= URXIE1; //使能UART1接收中斷
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -