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

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

?? msp430x20x3_usi_06.c

?? msp430_2012_串口USI驅動程序,示例代碼
?? C
字號:
//******************************************************************************
//  MSP430F20xx Demo - I2C Master Receiver, single byte
//
//  Description: I2C Master communicates with I2C Slave using
//  the USI. Slave data should increment from 0x00 with each transmitted byte
//  which is verified by the Master.
//  LED off for address or data Ack; LED on for address or data NAck.
//  ACLK = n/a, MCLK = SMCLK = Calibrated 1MHz
//
//  ***THIS IS THE MASTER CODE***
//
//                  Slave                      Master
//          (msp430x20x3_usi_09.c)
//               MSP430F20x2/3              MSP430F20x2/3
//             -----------------          -----------------
//         /|\|              XIN|-    /|\|              XIN|-
//          | |                 |      | |                 |
//          --|RST          XOUT|-     --|RST          XOUT|-
//            |                 |        |                 |
//      LED <-|P1.0             |        |                 |
//            |                 |        |             P1.0|-> LED
//            |         SDA/P1.7|------->|P1.6/SDA         |
//            |         SCL/P1.6|<-------|P1.7/SCL         |
//
//  Note: internal pull-ups are used in this example for SDA & SCL
//
//  Z. Albus
//  Texas Instruments Inc.
//  May 2006
//  Built with IAR Embedded Workbench Version: 3.41A
//******************************************************************************
#include  <msp430x20x2.h>

char SLV_data = 0x00;                  // Variable for received data
char SLV_Addr = 0x91;                  // Address is 0x48 << 1 bit + 1 for Read
int I2C_State = 0;                     // State variable

void main(void)
{
  volatile unsigned int i;             // Use volatile to prevent removal

  WDTCTL = WDTPW + WDTHOLD;            // Stop watchdog

  BCSCTL1 = CALBC1_1MHZ;               // Set DCO
  DCOCTL = CALDCO_1MHZ;

  P1OUT = 0xC0;                        // P1.6 & P1.7 Pullups
  P1REN |= 0xC0;                       // P1.6 & P1.7 Pullups
  P1DIR = 0xFF;                        // Unused pins as outputs
  P2OUT = 0;
  P2DIR = 0xFF;

  USICTL0 = USIPE6+USIPE7+USIMST+USISWRST;// Port & USI mode setup
  USICTL1 = USII2C+USIIE;              // Enable I2C mode & USI interrupt
  USICKCTL = USIDIV_3+USISSEL_2+USICKPL;// Setup USI clocks: SCL = SMCLK/8 (~120kHz)
  USICNT |= USIIFGCC;                  // Disable automatic clear control
  USICTL0 &= ~USISWRST;                // Enable USI
  USICTL1 &= ~USIIFG;                  // Clear pending flag
  _EINT();

  while(1)
  {
    USICTL1 |= USIIFG;                 // Set flag and start communication
    LPM0;                              // CPU off, await USI interrupt
    _NOP();                            // Used for IAR
    for (i = 0; i < 5000; i++);        // Dummy delay between communication cycles
  }
}

/******************************************************
// USI interrupt service routine
******************************************************/
#pragma vector = USI_VECTOR
__interrupt void USI_TXRX (void)
{
  switch(__even_in_range(I2C_State,10))
    {
      case 0: // Generate Start Condition & send address to slave
              P1OUT |= 0x01;           // LED on: sequence start
              USISRL = 0x00;           // Generate Start Condition...
              USICTL0 |= USIGE+USIOE;
              USICTL0 &= ~USIGE;
              USISRL = SLV_Addr;       // ... and transmit address, R/W = 1
              USICNT = (USICNT & 0xE0) + 0x08; // Bit counter = 8, TX Address
              I2C_State = 2;           // Go to next state: receive address (N)Ack
              break;

      case 2: // Receive Address Ack/Nack bit
              USICTL0 &= ~USIOE;       // SDA = input
              USICNT |= 0x01;          // Bit counter = 1, receive (N)Ack bit
              I2C_State = 4;           // Go to next state: check (N)Ack
              break;

      case 4: // Process Address Ack/Nack & handle data RX
              if (USISRL & 0x01)       // If Nack received...
              { // Prep Stop Condition
                USICTL0 |= USIOE;
                USISRL = 0x00;
                USICNT |=  0x01;       // Bit counter = 1, SCL high, SDA low
                I2C_State = 10;        // Go to next state: generate Stop
                P1OUT |= 0x01;         // Turn on LED: error
              }
              else                     // Ack received
              { // Receive Data from slave
                USICNT |=  0x08;       // Bit counter = 8, RX data
                I2C_State = 6;         // Go to next state: Test data and (N)Ack
                P1OUT &= ~0x01;        // LED off
              }
              break;

      case 6: // Send Data Ack/Nack bit
              USICTL0 |= USIOE;        // SDA = output
              if (USISRL == SLV_data)  // If data valid...
              {
                USISRL = 0x00;         // Send Ack
                SLV_data++;            // Increment Slave data
                P1OUT &= ~0x01;        // LED off
              }
              else
              {
                USISRL = 0xFF;         // Send NAck
                P1OUT |= 0x01;         // LED on: error
              }
              USICNT |= 0x01;          // Bit counter = 1, send (N)Ack bit
              I2C_State = 8;           // Go to next state: prep stop
              break;

      case 8: // Prep Stop Condition
              USICTL0 |= USIOE;        // SDA = output
              USISRL = 0x00;
              USICNT |=  0x01;         // Bit counter = 1, SCL high, SDA low
              I2C_State = 10;          // Go to next state: generate Stop
              break;

      case 10: // Generate Stop Condition
              USISRL = 0x0FF;          // USISRL = 1 to release SDA
              USICTL0 |= USIGE;        // Transparent latch enabled
              USICTL0 &= ~(USIGE+USIOE);// Latch/SDA output disabled
              I2C_State = 0;           // Reset state machine for next transmission
              LPM0_EXIT;               // Exit active for next transfer
              break;
    }

  USICTL1 &= ~USIIFG;                  // Clear pending flag
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级在线看| 国产精品一区二区在线播放| 91亚洲精品久久久蜜桃| 欧美激情一区二区三区| 国产成人aaa| 亚洲欧洲日韩av| 91福利在线看| 午夜一区二区三区视频| 欧美理论电影在线| 男男gaygay亚洲| 久久老女人爱爱| 91亚洲精品久久久蜜桃| 亚洲高清免费在线| 欧美大白屁股肥臀xxxxxx| 国产一区二区三区黄视频 | 26uuu国产一区二区三区 | 国产高清精品网站| 最新成人av在线| 欧美性生活大片视频| 蜜桃视频在线观看一区| 欧美精品一区二区在线观看| 成人性生交大合| 亚洲韩国精品一区| 欧美xxx久久| 成人高清视频在线观看| 亚洲成人精品影院| 久久免费电影网| 欧美日韩一区二区三区四区五区 | 久久99精品国产麻豆婷婷 | 波多野结衣亚洲一区| 亚洲午夜精品17c| 久久久久97国产精华液好用吗| 91天堂素人约啪| 蜜乳av一区二区| 亚洲欧美国产毛片在线| 精品国产1区2区3区| 在线视频亚洲一区| 国产精品88888| 日本视频免费一区| 亚洲免费av在线| 久久久久久久久一| 欧美日本高清视频在线观看| 成人18视频在线播放| 久久精品国产亚洲aⅴ| 亚洲老妇xxxxxx| 国产精品久久久久一区二区三区| 欧美精品在线观看一区二区| 99久久综合狠狠综合久久| 极品尤物av久久免费看| 亚洲成人精品一区| 亚洲另类在线制服丝袜| 国产精品无码永久免费888| 精品国产91久久久久久久妲己| 欧美日韩国产综合视频在线观看| av中文字幕不卡| 国产乱码精品一区二区三区av| 日本三级亚洲精品| 亚洲h动漫在线| 亚洲成人在线免费| 亚洲精品视频免费看| 中文字幕亚洲一区二区av在线| 久久色中文字幕| 欧美va在线播放| 欧美一卡二卡三卡| 在线播放中文一区| 欧美三级视频在线| 91久久香蕉国产日韩欧美9色| 成人免费电影视频| 成人精品视频一区二区三区| 国产一区二区三区高清播放| 精品无码三级在线观看视频| 久久99久久久欧美国产| 免费看日韩a级影片| 人妖欧美一区二区| 日本伊人精品一区二区三区观看方式| 夜夜亚洲天天久久| 亚洲一区二区在线免费观看视频 | 欧美色综合网站| 欧美性感一类影片在线播放| 欧美午夜片在线观看| 精品视频在线免费观看| 欧美日韩综合一区| 欧美日韩免费观看一区三区| 欧美精品久久99| 日韩精品在线看片z| 久久免费的精品国产v∧| 国产日产精品一区| 国产精品网站在线播放| 中文字幕中文字幕一区二区| 中文字幕中文字幕一区| 亚洲美女免费视频| 日韩二区在线观看| 久久69国产一区二区蜜臀| 国产一区二区网址| 成人app软件下载大全免费| 色欧美乱欧美15图片| 欧美色综合网站| 精品国精品自拍自在线| 中文字幕免费不卡| 亚洲国产视频一区二区| 蜜臀国产一区二区三区在线播放| 激情欧美一区二区| 99久久99久久综合| 欧美日韩视频专区在线播放| 日韩精品一区二区三区中文精品| 26uuu久久天堂性欧美| 亚洲日本va在线观看| 午夜精品久久一牛影视| 国产永久精品大片wwwapp | 国产一区二区导航在线播放| 99在线精品免费| 91麻豆精品国产| 欧美国产亚洲另类动漫| 亚洲成av人片一区二区三区| 国产一区二区免费视频| 在线免费av一区| 欧美mv和日韩mv的网站| 亚洲精品视频在线观看免费| 免费日韩伦理电影| 91久久一区二区| 久久精品综合网| 午夜私人影院久久久久| 成人一级片网址| 日韩色在线观看| 亚洲欧美日韩系列| 国产毛片精品视频| 欧美日韩日日骚| 综合欧美一区二区三区| 久久国产精品免费| 欧美日韩另类国产亚洲欧美一级| 久久九九久精品国产免费直播| 亚洲电影一区二区| 成人av资源网站| 日韩欧美久久一区| 亚洲综合在线观看视频| 国产大陆精品国产| 欧美本精品男人aⅴ天堂| 亚洲成人黄色小说| 色呦呦日韩精品| 中文字幕乱码亚洲精品一区| 捆绑紧缚一区二区三区视频| 欧美亚洲国产一卡| 亚洲欧洲成人精品av97| 国产成人一级电影| 精品久久久网站| 日韩电影在线观看网站| 在线观看国产日韩| 亚洲欧洲精品一区二区三区| 国产精品 欧美精品| 欧美www视频| 蜜臀久久99精品久久久久久9 | 另类的小说在线视频另类成人小视频在线| 99精品一区二区| 国产精品午夜春色av| 国产成+人+日韩+欧美+亚洲| 日韩欧美在线综合网| 热久久国产精品| 欧美高清视频一二三区| 午夜精品影院在线观看| 欧洲精品在线观看| 亚洲激情综合网| 日本韩国精品在线| 一区二区高清在线| 欧美系列亚洲系列| 亚洲成人久久影院| 6080日韩午夜伦伦午夜伦| 亚洲va欧美va国产va天堂影院| 欧美少妇xxx| 日韩和欧美一区二区三区| 欧美剧情片在线观看| 爽好久久久欧美精品| 91精品国产乱| 麻豆精品国产91久久久久久| 欧美成人一区二区三区| 国模少妇一区二区三区| 中文字幕精品三区| 91香蕉视频mp4| 亚洲国产精品尤物yw在线观看| 欧美日韩综合不卡| 久久99热狠狠色一区二区| 国产亚洲一二三区| kk眼镜猥琐国模调教系列一区二区 | 一区二区三区在线视频免费观看 | 欧美自拍偷拍一区| 亚洲国产欧美日韩另类综合| 欧美老肥妇做.爰bbww视频| 免费黄网站欧美| 国产女同互慰高潮91漫画| 91免费版pro下载短视频| 亚洲一区中文在线| 91 com成人网| 国产又粗又猛又爽又黄91精品| 国产精品麻豆欧美日韩ww| 色婷婷综合激情| 久久精品国产99久久6| 国产精品久久久久三级| 欧美日韩一区二区三区在线| 另类综合日韩欧美亚洲| 亚洲欧美一区二区视频| 欧美区视频在线观看|