亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fet140_ta0_ta1_uart2400.c

?? MSP430單片機常用模塊與綜合系統實例精講 的:“程序代碼”、“實例插圖”、“電路圖”3個文件夾。以及MSP430F14X系列單片機的官方源碼"CODE-MSP430F14X" 其中各個文件夾主要
?? C
字號:
//******************************************************************************
//  MSP430F14x Demo - Timer_A, Ultra-Low Pwr UART 2400 Echo, 32kHz ACLK
//
//  Description: Use Timer_A CCR1 hardware output modes and CCR0 SCCI data latch
//  to implement UART function @ 2400 baud. Software does not directly read and
//  write to RX and TX pins, instead proper use of output modes and SCCI data
//  latch are demonstrated. Use of these hardware features eliminates ISR
//  latency effects as hardware insures that output and input bit latching and
//  timing are perfectly synchronised with Timer_A regardless of other
//  software activity. In the Mainloop the UART function readies the UART to
//  receive one character and waits in LPM3 with all activity interrupt driven.
//  After a character has been received, the UART receive function forces exit
//  from LPM3 in the Mainloop which echo's back the received character.
//  ACLK = TACLK = LFXT1 = 32768Hz, MCLK = SMCLK = default DCO
//  //* An external watch crystal is required on XIN XOUT for ACLK *//	
//
//               MSP430F14x
//            -----------------
//        /|\|              XIN|-
//         | |                 | 32kHz
//         --|RST          XOUT|-
//           |                 |
//           |         TXD/P2.3|-------->
//           |                 | 2400 8N1
//           |   CCI0B/RXD/P2.2|<--------
//

#define RXD       0x04                      // RXD on P2.2

#define TXD       0x08                      // TXD on P2.3
//   Conditions for 2400 Baud SW UART, ACLK = 32768

#define Bitime_5  0x06                      // ~ 0.5 bit length + small adjustment
#define Bitime    0x0E                      // 427us bit length ~ 2341 baud

unsigned int RXTXData;
unsigned char BitCnt;

void TX_Byte (void);
void RX_Ready (void);

//  R. B. Elliott / H. Grewal
//  Texas Instruments Inc.
//  November 2007
//  Built with IAR Embedded Workbench Version: 3.42A
//******************************************************************************

#include  <msp430x14x.h>


void main (void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
  CCTL1 = OUT;                              // TXD Idle as Mark
  TACTL = TASSEL_1 + MC_2;                  // ACLK, continuous mode
  P2SEL = TXD + RXD;                        // *******

  P2DIR = TXD;                              //

// Mainloop
  for (;;)
  { 
  RX_Ready();                               // UART ready to RX one Byte
  _BIS_SR(LPM3_bits + GIE);                 // Enter LPM3 w/ interr until char RXed
  TX_Byte();                                // TX Back RXed Byte Received
  }
}


// Function Transmits Character from RXTXData Buffer
void TX_Byte (void)
{
  BitCnt = 0xA;                             // Load Bit counter, 8data + ST/SP
  while (CCR1 != TAR)                       // Prevent async capture
    CCR1 = TAR;                             // Current state of TA counter
  CCR1 += Bitime;                           // Some time till first bit
  RXTXData |= 0x100;                        // Add mark stop bit to RXTXData
  RXTXData = RXTXData << 1;                 // Add space start bit
  CCTL1 =  CCIS0 + OUTMOD0 + CCIE;          // TXD = mark = idle
  while ( CCTL1 & CCIE );                   // Wait for TX completion
}


// Function Readies UART to Receive Character into RXTXData Buffer
void RX_Ready (void)
{
  BitCnt = 0x8;                             // Load Bit counter
  CCTL0 = SCS + OUTMOD0 + CM1 + CAP + CCIE + CCIS_1;   // Sync, Neg Edge, Cap
}

// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
  CCR0 += Bitime;                           // Add Offset to CCR0

  {
    if( CCTL0 & CAP )                       // Capture mode = start bit edge
    {
    CCTL0 &= ~ CAP;                         // Switch from capture to compare mode
    CCR0 += Bitime_5;
    }
    else
    {
    RXTXData = RXTXData >> 1;
      if (CCTL0 & SCCI)                     // Get bit waiting in receive latch
      RXTXData |= 0x80;
      BitCnt --;                            // All bits RXed?
      if ( BitCnt == 0)
//>>>>>>>>>> Decode of Received Byte Here <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
      {
      CCTL0 &= ~ CCIE;                      // All bits RXed, disable interrupt
      _BIC_SR_IRQ(LPM3_bits);               // Clear LPM3 bits from 0(SR)
      }
//>>>>>>>>>> Decode of Received Byte Here <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    }
  }
}

// Timer_A3 Interrupt Vector (TAIV) handler
#pragma vector=TIMERA1_VECTOR
__interrupt void Timer_A1(void)
{
  switch( TAIV )
  {
    case  2:  
      _NOP();
        CCR1 += Bitime;                     // Add Offset to CCR0

// TX
  if (CCTL1 & CCIS0)                        // TX on CCI0B?
  {
    if ( BitCnt == 0){
    CCTL1 &= ~ CCIE;                        // All bits TXed, disable interrupt
    }
    else
    {
      CCTL1 |=  OUTMOD2;                    // TX Space
      if (RXTXData & 0x01)
      CCTL1 &= ~ OUTMOD2;                   // TX Mark
      RXTXData = RXTXData >> 1;
      BitCnt --;
    }
  }
      break;                                // CCR1 not used
    case  4:  break;                        // CCR2 not used
    case 10:  P1OUT ^= 0x01;                // overflow
              break;
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品乱码久久久久久久久| 国内精品在线播放| 亚洲人成人一区二区在线观看| 久久久精品天堂| 精品国产乱码久久久久久免费| 日韩午夜av电影| 日韩女优av电影在线观看| 91精品福利在线一区二区三区| 欧美日韩国产精品自在自线| 欧美体内she精视频| 欧美日韩大陆在线| 欧美人伦禁忌dvd放荡欲情| 欧美色综合天天久久综合精品| 91精彩视频在线观看| 欧美中文字幕不卡| 欧美日韩国产一级二级| 欧美精品久久一区| 精品乱码亚洲一区二区不卡| 99久久久无码国产精品| 成人手机在线视频| 99久久精品99国产精品| 日本久久电影网| 欧美久久久久久久久久 | 欧美一级日韩免费不卡| 日韩一级大片在线观看| 国产呦精品一区二区三区网站| 国产成人精品aa毛片| 成人免费精品视频| 欧美丝袜丝交足nylons图片| 国产不卡免费视频| 色94色欧美sute亚洲线路一ni| 欧美蜜桃一区二区三区| 久久综合久久鬼色| 国产精品久久久久久久久果冻传媒| 亚洲人精品午夜| 日日夜夜一区二区| 91在线视频官网| 色狠狠桃花综合| 7777精品伊人久久久大香线蕉经典版下载| 国产精品99久久久| 国产一区美女在线| 久久se这里有精品| 国产尤物一区二区在线| 麻豆精品精品国产自在97香蕉| 午夜欧美一区二区三区在线播放| 狠狠色2019综合网| 91福利精品第一导航| 欧美伦理电影网| 久久久一区二区| 最新欧美精品一区二区三区| 日韩久久久久久| 亚洲欧洲www| 亚洲国产精品一区二区久久恐怖片 | 91一区在线观看| 日韩小视频在线观看专区| 欧美激情一区二区三区四区| 日韩精品一二三四| 日本亚洲三级在线| www.激情成人| 国产日韩欧美一区二区三区综合| 99热国产精品| 日韩美女在线视频| 亚洲伦理在线精品| 日韩国产精品久久| 99久久99久久综合| 亚洲精品一线二线三线无人区| 亚洲色图第一区| 国产一区 二区| 制服.丝袜.亚洲.另类.中文| 中文字幕一区二区三区不卡| 免费看精品久久片| 91精品福利视频| 中文字幕高清不卡| 日本不卡1234视频| 91黄视频在线| 日本一区二区成人在线| 玖玖九九国产精品| 欧美日韩一区三区| 成人欧美一区二区三区1314| 国产一区二区日韩精品| 6080午夜不卡| 亚洲成av人片在线观看无码| 99国产欧美另类久久久精品| 国产亚洲欧美激情| 毛片av一区二区三区| 欧美三级电影网| 樱桃视频在线观看一区| eeuss鲁片一区二区三区| 久久久久九九视频| 精品一区二区三区在线播放| 在线播放91灌醉迷j高跟美女| 亚洲精品视频在线观看免费 | 成人丝袜18视频在线观看| 亚洲精品在线三区| 蜜桃视频在线一区| 日韩欧美电影一区| 日本不卡的三区四区五区| 欧美日韩电影在线播放| 亚洲一区在线免费观看| 在线一区二区观看| 亚洲欧美日韩在线不卡| 91免费在线视频观看| 亚洲女同一区二区| 一本色道久久加勒比精品 | 国产老女人精品毛片久久| 欧美成人video| 99国产精品国产精品毛片| 欧美国产精品v| 99精品热视频| 亚洲另类色综合网站| 色妞www精品视频| 一区二区三区小说| 日本韩国精品在线| 一区二区成人在线| 欧美精品在线一区二区| 蜜桃一区二区三区在线| 欧美成人性福生活免费看| 久久se精品一区精品二区| 久久久久9999亚洲精品| 成人综合激情网| 亚洲精品美腿丝袜| 欧美区一区二区三区| 免费人成黄页网站在线一区二区| 欧美成人午夜电影| 成人午夜av影视| 一二三区精品视频| 717成人午夜免费福利电影| 国产在线麻豆精品观看| 久久精品一二三| 91免费版在线| 日韩精品一二三四| 国产性做久久久久久| 91视频在线看| 石原莉奈在线亚洲三区| 2017欧美狠狠色| 91亚洲资源网| 天堂在线亚洲视频| 久久午夜色播影院免费高清| 99精品欧美一区二区三区小说| 一区二区三区四区高清精品免费观看 | 欧美另类久久久品| 精品一区二区三区蜜桃| 国产精品久久久久7777按摩 | 亚洲国产成人私人影院tom| 色狠狠综合天天综合综合| 男女男精品视频网| 欧美极品少妇xxxxⅹ高跟鞋| 色哟哟一区二区| 麻豆国产91在线播放| 最近中文字幕一区二区三区| 欧美日韩国产三级| 国产成人日日夜夜| 亚洲成人在线网站| 国产三级精品视频| 欧美三级乱人伦电影| 国产v综合v亚洲欧| 日韩国产在线一| 国产精品久久久一本精品| 91精品免费观看| 波多野结衣中文字幕一区| 日韩高清在线一区| 1024成人网| 久久一区二区三区四区| 欧美体内she精高潮| 国产成人亚洲综合a∨婷婷图片| 亚洲国产一二三| 中文字幕av资源一区| 欧美一区二区视频在线观看 | 亚洲欧美怡红院| 久久综合给合久久狠狠狠97色69| 色哟哟在线观看一区二区三区| 国产精品99久| 亚洲国产精品久久人人爱| 亚洲国产精品传媒在线观看| 日韩免费观看高清完整版| 欧美性三三影院| 91视频在线看| 成人av一区二区三区| 国内成人免费视频| 美女在线视频一区| 亚洲国产欧美在线| 亚洲欧美视频在线观看视频| 亚洲高清视频的网址| 国产精品美女一区二区在线观看| 欧美一级日韩不卡播放免费| 欧美色手机在线观看| 97se亚洲国产综合自在线| 国产精品88888| 另类小说综合欧美亚洲| 亚洲h精品动漫在线观看| 亚洲黄色av一区| 亚洲女爱视频在线| 亚洲啪啪综合av一区二区三区| 国产婷婷一区二区| 久久综合色婷婷| 精品国产a毛片| 精品成人一区二区三区四区| 日韩亚洲欧美综合| 欧美一卡二卡三卡| 91精品综合久久久久久|