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

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

?? fet110_ta_uart9600_01.c

?? 各種波特路的串口通信程序(還是MSP430 )
?? C
字號:
//******************************************************************************
//  MSP-FET430x110 Demo - Timer_A UART 9600 Echo, HF XTAL ACLK 
//
//  Description: Use timer_A CCR0 hardware output modes and SCCI data latch to
//  to implement UART function @ 9600 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 LPM0 with all activity interrupt driven. 
//  After a character has been received, the UART receive function forces exit 
//  from LPM0 in the Mainloop which echo's back the received character.
//  ACLK = MCLK = TACLK = HF XTAL = 3.579545MHz   
//  //*An external 3.579545Hz XTAL on XIN XOUT is required for ACLK*//	
//
//                MSP430F1121
//            -----------------
//        /|\|              XIN|-        
//         | |                 | 3.58Mhz   
//         --|RST          XOUT|-        
//           |                 |         
//           |   CCI0A/TXD/P1.1|-------->  
//           |                 | 9600 8N1 
//           |   CCI0B/RXD/P2.2|<--------
//
#define RXD   0x04                      // RXD on P2.2
#define TXD   0x02                      // TXD on P1.1

//  Conditions for 9600 Baud HW/SW UART, ACLK = 3.579545MHz

#define Bitime_5  0x0BA                 // ~ 0.5 bit length 
#define Bitime  0x175                   // 104 us ~ 9596 baud

unsigned int RXTXData;
unsigned char BitCnt;

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

//  M.Buccini
//  October 2003
//  Built with IAR Embedded Workbench Version: 1.26B
//  January 2004
//  Updated for IAR Embedded Workbench Version: 2.21B
//******************************************************************************


#include <msp430x11x1.h>

void main (void)
{
  unsigned int i;
  WDTCTL = WDTPW + WDTHOLD;             // Stop watchdog timer

  BCSCTL1 |= XTS;                       // ACLK = LFXT1 = HF XTAL
 
  do 
  {
  IFG1 &= ~OFIFG;                       // Clear OSCFault flag
  for (i = 0xFF; i > 0; i--);           // Time for flag to set
  }
  while ( IFG1 & OFIFG );               // OSCFault flag still set?                

  BCSCTL2 |= SELM_3;                    // MCLK = LFXT1 (safe)

  CCTL0 = OUT;                          // TXD Idle as Mark 
  TACTL = TASSEL_1 + MC_2;              // ACLK, continuous mode
  P1SEL = TXD;                          // P1.1/TA0 for TXD function
  P1DIR = TXD;                          // TXD output on P1
  P2SEL = RXD;                          // P2.2/TA0 as RXD input

// Mainloop
  for (;;)                              
  {
  RX_Ready();                           // UART ready to RX one Byte
  _BIS_SR(CPUOFF + GIE);                // Enter LPM0 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
  CCR0 = TAR;                           // Current state of TA counter
  CCR0 += Bitime;                       // Some time till first bit
  RXTXData |= 0x100;                    // Add mark stop bit to RXTXData 
  RXTXData = RXTXData << 1;             // Add space start bit
  CCTL0 = OUTMOD0 + CCIE;               // TXD = mark = idle 
  while ( CCTL0 & 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 + CCIS0 + OUTMOD0 + CM1 + CAP + CCIE;   // Sync, Neg Edge, Capture          
}


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

// RX
  if (CCTL0 & CCIS0)                    // RX on CCI0B?
  {
    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(CPUOFF);              // Clear LPM0 bits from 0(SR)
      }
//>>>>>>>>>> Decode of Received Byte Here <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    }
  }
// TX
  else
  {
    if ( BitCnt == 0)
    CCTL0 &= ~ CCIE;                    // All bits TXed, disable interrupt
    else
    {
      CCTL0 |=  OUTMOD2;                // TX Space
      if (RXTXData & 0x01)                 
      CCTL0 &= ~ OUTMOD2;               // TX Mark
      RXTXData = RXTXData >> 1;
      BitCnt --;
    }
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区精品视频| 亚洲chinese男男1069| 欧美日韩国产首页| 色综合天天综合在线视频| 国产大陆精品国产| 国产91精品露脸国语对白| 国产精品一区久久久久| 国产一区二区三区精品视频| 国产综合色精品一区二区三区| 另类的小说在线视频另类成人小视频在线| 首页综合国产亚洲丝袜| 蜜桃精品视频在线观看| 精品一区二区三区不卡| 国产精品一区在线| 波多野结衣的一区二区三区| 91碰在线视频| 91精品国产品国语在线不卡| 91精品啪在线观看国产60岁| 欧美精品一区二| 日本一区二区三区在线不卡| 亚洲欧美中日韩| 亚洲成av人片| 国精产品一区一区三区mba桃花| 国产成人在线网站| 色噜噜狠狠成人中文综合| 精品视频免费在线| 久久久99免费| 一区二区三区四区不卡视频| 亚洲aaa精品| 国产成人8x视频一区二区| 色婷婷av久久久久久久| 日韩一级欧美一级| 成人免费在线视频观看| 青草国产精品久久久久久| 国产盗摄一区二区三区| 欧美日韩一区国产| 中文字幕av在线一区二区三区| 亚洲视频免费观看| 捆绑紧缚一区二区三区视频| 成人黄色电影在线| 欧美一卡在线观看| 一区二区在线免费观看| 国产福利一区二区三区视频| 欧美日韩国产影片| 国产精品全国免费观看高清| 全部av―极品视觉盛宴亚洲| 成人精品gif动图一区| 日韩一区二区精品| 一区二区免费在线播放| 成人免费视频网站在线观看| 宅男在线国产精品| 亚洲va在线va天堂| 成人av片在线观看| 久久久国际精品| 老司机精品视频导航| 欧美揉bbbbb揉bbbbb| 亚洲特黄一级片| 成人a级免费电影| 久久综合色婷婷| 美女在线视频一区| 777xxx欧美| 日韩国产在线一| 91久久精品日日躁夜夜躁欧美| 欧美韩国一区二区| 国产成人欧美日韩在线电影| 精品国产电影一区二区| 丝袜美腿亚洲色图| 欧美喷潮久久久xxxxx| 亚洲一区二区偷拍精品| 色婷婷久久99综合精品jk白丝| 国产欧美日韩综合| 国产成a人亚洲| 久久综合久久99| 国内精品久久久久影院薰衣草 | 免费不卡在线观看| 欧美精品在线视频| 天堂精品中文字幕在线| 这里只有精品99re| 麻豆精品视频在线| 精品国产网站在线观看| 国产一区二区视频在线播放| 欧美精品一区二区精品网| 韩日av一区二区| 国产精品麻豆久久久| www.色综合.com| 亚洲综合一区二区三区| 欧美欧美欧美欧美| 热久久免费视频| 久久久777精品电影网影网| 成人精品亚洲人成在线| 亚洲日本青草视频在线怡红院 | 日韩欧美国产成人一区二区| 久久aⅴ国产欧美74aaa| 久久天天做天天爱综合色| 国产凹凸在线观看一区二区| 国产精品国产三级国产aⅴ中文| 不卡免费追剧大全电视剧网站| 亚洲女与黑人做爰| 欧美日产国产精品| 国产一区二区三区不卡在线观看| 国产喷白浆一区二区三区| 91老司机福利 在线| 亚洲第一狼人社区| 久久嫩草精品久久久精品| 91在线你懂得| 久久精品国产精品亚洲精品| 国产欧美日韩亚州综合| 欧美日韩www| 国产精品一二三区在线| 亚洲综合在线免费观看| 2020国产精品久久精品美国| 色妹子一区二区| 美女一区二区三区| 亚洲免费资源在线播放| 久久婷婷久久一区二区三区| 在线观看成人小视频| 久久精品久久99精品久久| 国产精品福利一区| 亚洲精品一区二区精华| 色999日韩国产欧美一区二区| 美女在线一区二区| 奇米777欧美一区二区| 国产精品嫩草影院av蜜臀| 91精品国产色综合久久ai换脸 | 久久女同性恋中文字幕| 欧美性猛交xxxx黑人交| 国产精品综合视频| 琪琪久久久久日韩精品| 亚洲免费观看高清| 中文av一区二区| 精品国产成人系列| 欧美一区二区三区日韩| 欧洲精品视频在线观看| gogo大胆日本视频一区| 国内精品不卡在线| 日本v片在线高清不卡在线观看| 一色屋精品亚洲香蕉网站| 26uuu色噜噜精品一区| 日韩欧美一级在线播放| 欧美日韩一区二区在线观看| 91国在线观看| 99久久精品免费观看| 国产一区二区三区| 国产呦精品一区二区三区网站| 热久久国产精品| 日本午夜一本久久久综合| 亚洲影院免费观看| 一区二区三区日韩精品视频| 最新中文字幕一区二区三区| 欧美激情综合在线| 欧美国产日韩一二三区| 国产精品丝袜黑色高跟| 日本一区二区三区国色天香 | 国产河南妇女毛片精品久久久| 日韩高清在线电影| 日日骚欧美日韩| 日本欧美久久久久免费播放网| 天天av天天翘天天综合网 | 中文字幕一区三区| 国产精品免费人成网站| 中文字幕第一区二区| 亚洲视频免费观看| 亚洲综合在线视频| 日韩在线卡一卡二| 免费观看久久久4p| 国产麻豆精品一区二区| 国产精品资源在线看| 91亚洲国产成人精品一区二区三| 99视频在线精品| 欧美日韩成人在线| 欧美mv和日韩mv的网站| 久久精品夜色噜噜亚洲a∨| 欧美国产激情二区三区| 中文字幕一区二区日韩精品绯色| 综合久久综合久久| 天天色天天操综合| 国产一区二区日韩精品| 一本久久精品一区二区| 欧美精品成人一区二区三区四区| 91精品久久久久久蜜臀| 国产欧美一区二区精品久导航 | 国产精品热久久久久夜色精品三区 | 国产精品视频免费看| 亚洲乱码国产乱码精品精98午夜| 天天影视网天天综合色在线播放| 美女网站一区二区| www.日韩精品| 在线不卡的av| 国产精品美女久久久久久久久 | 久久综合色播五月| 一色桃子久久精品亚洲| 美日韩一区二区三区| 99精品欧美一区二区三区小说 | 国产麻豆午夜三级精品| 91丨九色porny丨蝌蚪| 日韩精品一区二区三区中文不卡 | 91麻豆精品国产91久久久久| 国产视频不卡一区| 日本 国产 欧美色综合| 91啪九色porn原创视频在线观看|