準備器材:MSP430開發板一塊,串口線,PC,串口調試助手(可從網上下載)
八位數據,1個停止位,9600波特率無校驗
/********************************************************************
//DM430-L型最小系統板串口測試程序,使用單片機的串口0
//使用板載BSL模塊或者用戶外接串口線到DB9,要求是直連公對母串口線
//使用串口調試助手發送數據到系統板,比如02,03等
//系統板會將收到的數據再發送到串口調試助手,接收采用中斷模塊,發送用查詢
//板載的BSL模塊可以通過跳線帽設置為USB轉串口模式,筆記本電腦沒有串口可以直接代替
//開發板的BSL_Config區的RXD和TXD0連接,TXD和RXD0連接即可,另外2個跳線帽取下
//使用USB轉串口功能時,BSL失效,因此操作前應該先將程序下載至芯片中再調整跳線帽
//MSP430F149
********************************************************************/
#include
#include "Config.h"
//*************************************************************************
// MSP430串口初始化
//*************************************************************************
void UART_Init()
{
U0CTL|=SWRST; //復位SWRST
U0CTL|=CHAR; //8位數據模式
U0TCTL|=SSEL1; //SMCLK為串口時鐘
U0BR1=baud_h; //BRCLK=8MHZ,Baud=BRCLK/N
U0BR0=baud_l; //N=UBR+(UxMCTL)/8
U0MCTL=0x00; //微調寄存器為0,波特率9600bps
ME1|=UTXE0; //UART1發送使能
ME1|=URXE0; //UART1接收使能
U0CTL&=~SWRST;
IE1|=URXIE0; //接收中斷使能位
P3SEL|= BIT4; //設置IO口為普通I/O模式
P3DIR|= BIT4; //設置IO口方向為輸出
P3SEL|= BIT5;
}
//*************************************************************************
// 串口0發送數據函數
//*************************************************************************
void Send_Byte(uchar data)
{
while((IFG1&UTXIFG0)==0); //發送寄存器空的時候發送數據
U0TXBUF=data;
}
//*************************************************************************
// 處理來自串口 0 的接收中斷
//*************************************************************************
#pragma vector=UART0RX_VECTOR
__interrupt void UART0_RX_ISR(void)
{
uchar data=0;
data=U0RXBUF; //接收到的數據存起來
switch(data)
{
case'1':P6OUT ^= BIT0;break; //打開LED1(再次則熄滅)
case'2':P6OUT ^= BIT1;break;
case'3':P6OUT ^= BIT2;break;
case'4':P6OUT ^= BIT3;break;
case'5':P6OUT ^= BIT4;break;
case'6':P6OUT ^= BIT5;break;
case'7':P6OUT ^= BIT6;break;
case'8':P6OUT ^= BIT7;break;
default:P6OUT = 0xFF;break; //熄滅所有的LED
}
Send_Byte(data); //將接收到的數據再發送出去
}
//*************************************************************************
// 處理來自串口 0 的發送中斷,預留
//*************************************************************************
#pragma vector=UART0TX_VECTOR
__interrupt void UART0_TX_ISR(void)
{
}
//*************************************************************************
// 主函數
//*************************************************************************
void main(void)
{
WDT_Init(); //看門狗初始化
Clock_Init();
P6DIR = 0xFF;//選擇P6口,設置輸出方向
UART_Init();
_EINT();
while(1)
{
}
}
經測試在IAR for 430上代碼無錯誤。
上一篇:msp430 launchpad 按鍵控制led亮滅
下一篇:使用Msp430的串口中斷接收一包數據
推薦閱讀
史海拾趣
近年來,Herga公司緊跟智能制造的發展趨勢,大力推動生產線的自動化和智能化升級。公司引入了先進的機器人、自動化設備和智能管理系統,實現了從原材料采購、生產加工到成品檢驗的全流程自動化控制。這一舉措不僅大大提高了生產效率和質量穩定性,還降低了人力成本和運營風險。Herga公司的智能制造實踐為電子行業樹立了典范,也為公司的持續發展注入了新的動力。
為了進一步擴大市場份額,Digitron公司積極尋求與行業內外的企業建立戰略合作關系。XXXX年,Digitron公司與一家全球知名的物流公司達成合作協議,為其提供定制化的溫度監控解決方案。這一合作不僅為Digitron公司帶來了可觀的收入,還提高了其在物流行業的知名度。此外,Digitron公司還積極參加國際展會和論壇,與全球客戶建立聯系,拓展國際市場。
隨著電子行業的快速發展和市場競爭的加劇,ETC公司面臨著巨大的挑戰。為了應對行業變革,公司決定進行轉型升級。ETC加大了研發投入,積極探索新型晶體管技術,并成功推出了一系列高性能、低功耗的產品。同時,公司還加強了與上下游企業的合作,形成了完整的產業鏈。這些努力使ETC在激烈的市場競爭中保持了領先地位。
為了加快市場拓展和技術創新步伐,博通集成積極尋求與產業鏈上下游企業的戰略合作。公司與多家知名企業建立了緊密的合作關系,共同推動無線通訊技術的發展和應用。通過戰略合作,博通集成不僅獲得了更多的市場資源和技術支持,還實現了與合作伙伴的共贏發展。
Aristo-Craft/L M P Inc公司最初由幾位電子工程領域的專家創立,他們看到了電子行業的巨大潛力,并決定成立一家公司來開發和生產創新的電子產品。創業初期,公司面臨著資金短缺、市場競爭激烈等挑戰。然而,通過不懈的努力和精準的市場定位,公司成功推出了一款具有競爭力的產品,并逐漸在市場中獲得了一席之地。
API Technologies一直注重技術創新和研發投入。公司不斷引進先進的生產設備和技術人才,加大對新產品、新技術的研發力度。通過不斷的技術創新,API Technologies成功推出了一系列具有自主知識產權的高性能產品,不僅提升了公司的核心競爭力,也為公司的持續發展注入了新的動力。
最近用SSCOM32給ARM發送一個1M的BIN文件,結果每次只能發送到0X80000(512K)的時候就停止了,如果文件小于512K就正常,也就是說這個軟件只能發送512K以下的文件,不知道有沒有能發送更大文件的軟件。… 查看全部問答∨ |
|
就是用CeCreateDatabaseEx2 / CeOpenDatabaseEx2.....等API創建打開的簡單數據庫 現在的情況是:創建、打開、添加、刪除、關閉等,統統OK 。 我的問題出現再排序字段上: 我的一條記錄有5個字段,其中有兩個字段(都是字符串類型) ...… 查看全部問答∨ |
我在我的開發板上運行CE5.0的SMDK2410(flash讀寫已經修改了) EBoot,運行到OEMPreDownload函數時 打印調試信息發現始終沒運行到EbootInitEtherTransport這個函數中 請高人指點一下?。??… 查看全部問答∨ |
大家好,我是一個愛好單片機的初學者。 這幾天我一直在關注這個論壇,真的不錯這個論壇, 學習單片機是因為我看到汽車的底盤燈很好看,自己想做一個,然后想讓他呈流水狀,就是流水燈,跑馬燈,開始以為就是像汽車的轉向器一樣,結果上網 ...… 查看全部問答∨ |