日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年07月06日(星期日)

2020年07月06日 | MSP430F169(二)——UART中斷

發(fā)布者:seanxnie 來源: eefocus關(guān)鍵字:MSP430F169  UART中斷 手機看文章 掃描二維碼
隨時隨地手機看文章

目錄

1. UART中斷工作的機制

UART只有一個發(fā)送中斷向量和一個接收中斷向量,通過判斷中斷向量的標志來控制數(shù)據(jù)的收發(fā)


1.1 發(fā)送機制

當用戶想發(fā)送數(shù)據(jù)時,UxIFG產(chǎn)生一個中斷,表明UxTXBUF已經(jīng)準備好接收數(shù)據(jù)。當UxTXBUF接收字符后或中斷被執(zhí)行,URXIFG將會復位。

SWRST = 1或PUC會置位UxIFG (SWRST: 系統(tǒng)復位)

SWRST = 1或PUC會復位UxIE


1.2接收機

UxRXBUF每次接收一個字符并加載時,URXIFGx會產(chǎn)生一個中斷標記

UxRXBUF被讀取時或中斷被執(zhí)行時,URXIFG被自動復位

當PUC或SWRST = 1時UxRXIE 復位

建議接收中斷函數(shù)的代碼要精簡,執(zhí)行時間要短,防止數(shù)據(jù)接收不全。


2. 代碼實現(xiàn)

//串口初始化模塊

void UART_Init()

{

  U0CTL|=SWRST + CHAR;                //復位SWRST,8位數(shù)據(jù)模式

  U0TCTL|=SSEL1;                      //SMCLK為串口時鐘

  U0BR1=baud_h;                       //BRCLK=8MHZ,Baud=BRCLK/N

  U0BR0=baud_l;                       //N=UBR+(UxMCTL)/8

  U0MCTL=0x00;                        //微調(diào)寄存器為0,波特率9600bps

  ME1|=UTXE0;                         //UART0發(fā)送使能

  ME1|=URXE0;                         //UART0接收使能

  U0CTL&=~SWRST;

  IE1|=URXIE0;                        //接收中斷使能位,                                                                  //必須設置在SWRST之后,否則會復位


  P3SEL|= BIT4 + BIT5;                //設置IO口為第二功能模式,啟用UART功能

  P3DIR|= BIT4;                       //設置TXD0口方向為輸出

}


//*************************************************************************

//              串口0發(fā)送字符串函數(shù)

//*************************************************************************

void Print_Str(uchar *s)

{

    while(*s != '