機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
msp430f449的RS232接口程序
msp430f449的RS232接口程序
 更新時間:2008-7-26 20:34:51  點擊數(shù):4
【字體: 字體顏色
作者:匠人

#include "msp430x44x.h"

void init_uart(void);
void uart_start(void);
void uart_send(void);
void uart_receive(void);

unsigned char RXDATA_BUF[10],TXDATA_BUF[10]={0xbd,0x77,0x3d,0xc5,0xc6,0xf5,0x68,0x0d,0x6b,0xff};

unsigned int RX_count=0,TX_count=0,TXBUF_num=10,RXBUT_num=10,FLAG;

void main(void)
{   init_uart();
    uart_start();
    while(1)
    {_BIS_SR(CPUOFF);
    _NOP();
    }
}

--------------------------------------------------------
void init_uart(void)                    //初始化UART
{   unsigned int i;
    WDTCTL=WDTPW+WDTHOLD;
    FLL_CTL1|=XT2OFF+SELM_XT2+SELS;     //選擇MCLK時鐘源
    do                                  //等待時鐘穩(wěn)定
    {   IFG1&=~OFIFG;
        for(i=0;i<0xff;i++);
    }while((FLL_CTL0&XT2OF)==XT2OF);
    UCTL0|=SWRST;                       //控制寄存器位
    UCTL0|=CHAR;
    UTCTL0=SSEL0+SSEL1;                 //選擇發(fā)送時鐘源復(fù)位
    UBR00=0XA0;                         //波特率9600
    UBR10=0X01;
    UMCTL0=0X5E;
    UCTL0&=~SWRST;                      //選擇發(fā)送時鐘源置位
    ME1|=URXE0+UTXE0;                   //使能TXD  RXD
    IE1|=URXIE0;
    IFG1=0X00;
    P2SEL|=0X30;                        //模塊選用
    P2DIR|=0X10;
    for(i=0;i<10;i++) {RXDATA_BUF=0;}//清接收緩存
    _EINT();
}

---------------------------------------------------------
void uart_start(void)                   //啟動發(fā)送
{   IE1|=UTXIE0;
    while((UTCTL0&BIT0)!=BIT0);
    TXBUF0=TXDATA_BUF[0];
    TX_count=1;
}

----------------------------------------------------------
void uart_receive(void)                 //接收
{   RXDATA_BUF[RX_count]=RXBUF0;
    RX_count+=1;
    if(RX_count>=RXBUT_num) {RX_count=0;}
}
-----------------------------------------------------------
void uart_send(void)                    //發(fā)送
{   TXBUF_num-=1;
    if(TXBUF_num>0)
      {   TXBUF0=TXDATA_BUF[TX_count];
          TX_count+=1;
        
      }
    else
     {   FLAG+=1;
        if(FLAG>10)  {IE1&=~UTXIE0;}
              else  {   TXBUF_num=10;
                        TX_count=0;
                        uart_start();
                     }
     
     }
}
-------------------------------------------------------------
interrupt [UART0TX_VECTOR] void uart_tx(void)//發(fā)送中斷響應(yīng)
{  
    uart_send();
}

--------------------------------------------------------------
interrupt [UART0RX_VECTOR] void uart_rx(void)//接收中斷響應(yīng)
{
    uart_receive();
}
  • 上一篇: MSP430的低功耗特性在藍牙產(chǎn)品中的應(yīng)用
  • 下一篇: MSP430控制器液晶SED1335的程序
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1