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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? msp430fg4619 eeprom emulation.c

?? MSP430操作TUSB3410,USB接口芯片的源代碼
?? C
字號(hào):
//******************************************************************************
//   MSP430xG461x Demo - 24xx EEPROM Emulation using USCI_B0 and DMA
//
//   Description: This code uses the USCI_B0 module in conjunction with
//   one DMA channel to emulate a 24xx-type EEPROM. It implements address
//   selection, current address read, random read, and sequential read
//   operations. The code is optimized for maximum efficiency to enable
//   zero-latency I2C communication in I2C fast mode as required by some
//   master devices such as the TUSB3410.
//
//   An application example, the EEPROM contents as used in the app note
//   SLAA276 is used and provided to the TUSB3410.
//
//   ACLK = 32kHz, MCLK = SMCLK = 8MHz
//
//                        /|\ /|\
//            TUSB3410    1k  1k      MSP430xG461x
//          ------------   |   |   -------------------
//         |         SDA|<-|---+->|P3.1/UCB0SDA    XIN|-
//         |            |  |      |                   | 32kHz
//         |            |  |      |               XOUT|-
//         |            |  |      |                   |
//         |         SCL|--+----->|P3.2/UCB0SCL       |
//         |            |         |                   |
//         |            |         |                   |
//         |            |         |               P1.4|--> SMCLK
//
//   Andreas Dannenberg
//   Texas Instruments Inc.
//   May 2006
//   Built with IAR Embedded Workbench Version: 3.41A
//******************************************************************************
#include "msp430xG46x.h"

#define EEPROM_ADDRESS       0x50           // Address for EEPROM emulation

//------------------------------------------------------------------------------
// The constant EEPROMImage[] contains the data to be loaded into the TUSB3410
// USB configuration EEPROM. It was generated using the tools provided in
// SLLC251 and then converted into a C constant. Note that the USB descriptor
// blocks contain checksums, therefore manual modification of the below EEPROM
// image is not recommended.
//
// USB vendor ID: 0x0451 (TI's VID)
// USB product ID: 0xbeef (This application's PID)
// USB product descriptor: "MSP430-TUSB3410 Reference Design"
//------------------------------------------------------------------------------
static const unsigned char EEPROMImage[] =
{
  0x10, 0x34, 0x03, 0x12, 0x00, 0x33, 0x12, 0x01,
  0x10, 0x01, 0xff, 0x00, 0x00, 0x08, 0x51, 0x04,
  0xef, 0xbe, 0x01, 0x01, 0x01, 0x02, 0x00, 0x01,
  0x05, 0x6c, 0x00, 0x34, 0x04, 0x03, 0x09, 0x04,
  0x24, 0x03, 0x54, 0x00, 0x65, 0x00, 0x78, 0x00,
  0x61, 0x00, 0x73, 0x00, 0x20, 0x00, 0x49, 0x00,
  0x6e, 0x00, 0x73, 0x00, 0x74, 0x00, 0x72, 0x00,
  0x75, 0x00, 0x6d, 0x00, 0x65, 0x00, 0x6e, 0x00,
  0x74, 0x00, 0x73, 0x00, 0x42, 0x03, 0x4d, 0x00,
  0x53, 0x00, 0x50, 0x00, 0x34, 0x00, 0x33, 0x00,
  0x30, 0x00, 0x2d, 0x00, 0x54, 0x00, 0x55, 0x00,
  0x53, 0x00, 0x42, 0x00, 0x33, 0x00, 0x34, 0x00,
  0x31, 0x00, 0x30, 0x00, 0x20, 0x00, 0x52, 0x00,
  0x65, 0x00, 0x66, 0x00, 0x65, 0x00, 0x72, 0x00,
  0x65, 0x00, 0x6e, 0x00, 0x63, 0x00, 0x65, 0x00,
  0x20, 0x00, 0x44, 0x00, 0x65, 0x00, 0x73, 0x00,
  0x69, 0x00, 0x67, 0x00, 0x6e, 0x00, 0x00, 0x00,
  0x00
};

// Function prototypes
void InitSystem(void);

// Implementation
void main(void)
{
  InitSystem();

  __enable_interrupt();
  __bis_SR_register(LPM0_bits);             // Enter LPM0
}

void InitSystem(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop Watchdog timer

  // Clock system setup
  FLL_CTL0 |= DCOPLUS + XCAP18PF;           // DCO+ set, freq = xtal x D x N+1
  SCFI0 |= FN_4;                            // x2 DCO freq, 8MHz nominal DCO
  SCFQCTL = 121;                            // (121+1) x 32768 x 2 = 7.99 MHz
  P1SEL |= 0x10;                            // Output SMCLK on P1.4
  P1DIR |= 0x10;                            // Set P1.4 to output

  // Configure DMA Channel 0 to source the I2C Module
  DMACTL0 = DMA0TSEL_13;                    // Trigger is USCI_B0 transmit
  DMA0CTL = DMASRCINCR_3 + DMADSTBYTE + DMASRCBYTE;
  DMA0SA = (unsigned short)&EEPROMImage;    // Source is virtual EEPROM
  DMA0DA = (unsigned short)&UCB0TXBUF;      // Dest is USCI_B0 TX buffer
  DMA0SZ = sizeof EEPROMImage;
  DMA0CTL |= DMAEN;                         // Enable DMA channel 0

  // Init USCI_B0 Module for slave mode
  P3SEL |= 0x06;                            // Assign I2C pins to USCI_B0
  UCB0CTL1 |= UCSWRST;                      // Enable SW reset
  UCB0CTL0 = UCMODE_3 + UCSYNC;             // I2C Slave, synchronous mode
  UCB0I2COA = EEPROM_ADDRESS;               // Set Own Address
  UCB0CTL1 &= ~UCSWRST;                     // Clear SW reset, resume operation
  IE2 |= UCB0RXIE;                          // Enable RX interrupt
}

//------------------------------------------------------------------------------
// The USCIB0 data ISR is used to receive data from the TUSB3410 I2C master.
// This data is used as an EEPROM emulation start address by using the two
// received bytes as the start address for the next I2C read transaction. The
// DMA is used for efficient data transfers. Note that the temporary value
// 0xffff which is used to determine if the 1st/2nd byte was received is
// also generated CPU internal by the constant generator, thus allowing for
// a maximum-efficiency implementation.
//------------------------------------------------------------------------------
#pragma vector = USCIAB0TX_VECTOR
__interrupt void USCIAB0TX_ISR(void)
{
  static unsigned int EEPROMTemp = 0xffff;  // Assign initial value,
                                            // 'static' to preserve variable
                                            // over ISR calls

  if (EEPROMTemp == 0xffff)                 // MSB already received?
  {
    EEPROMTemp = UCB0RXBUF;                 // No, load address MSB
  }
  else                                      // Yes, re-assign DMA source addr
  {
    DMA0CTL &= ~DMAEN;                      // Disable DMA channel 0
    DMA0SA = (unsigned short)&EEPROMImage + (EEPROMTemp << 8) + UCB0RXBUF;
    DMA0CTL |= DMAEN;                       // Re-enable DMA channel 0
    EEPROMTemp = 0xffff;                    // Ready for new address
  }
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区视频在线看| 亚洲精品在线免费观看视频| 欧洲亚洲国产日韩| 欧美一区二区视频网站| 国产精品欧美久久久久无广告| 亚洲国产综合人成综合网站| 狠狠色狠狠色综合系列| 在线观看免费成人| 国产精品久久久久影视| 久久99热这里只有精品| 欧美午夜精品免费| 亚洲三级免费电影| 国产伦精品一区二区三区免费| 欧美日韩成人综合| 亚洲精品视频一区二区| 成人avav影音| 久久久99精品免费观看| 天天免费综合色| 99精品黄色片免费大全| 久久免费电影网| 亚洲福利视频一区| 99re免费视频精品全部| 久久久www免费人成精品| 日本中文字幕一区| 91影院在线观看| 国产精品久线观看视频| 国产精品自在在线| 精品国产乱码久久久久久久久| 天天操天天综合网| 欧美精品xxxxbbbb| 午夜精品一区在线观看| 欧美色区777第一页| 亚洲在线视频免费观看| 欧美唯美清纯偷拍| 天天综合天天综合色| 欧美精品aⅴ在线视频| 亚洲一区二区偷拍精品| 欧美天天综合网| 亚洲美女偷拍久久| 成人免费高清视频| 国产一区二区91| 久久一留热品黄| 国产精品888| 国产精品萝li| 久久综合久久综合亚洲| 美脚の诱脚舐め脚责91 | 亚洲国产人成综合网站| 91久久线看在观草草青青| 日韩美女视频在线| 国产乱码精品一区二区三区av| 久久久久久免费网| 99re免费视频精品全部| 性做久久久久久久久| 91精品国产色综合久久不卡电影| 婷婷激情综合网| 日韩一卡二卡三卡国产欧美| 日韩在线a电影| 7777女厕盗摄久久久| 全国精品久久少妇| 国产日韩欧美在线一区| 波多野结衣欧美| 香蕉加勒比综合久久| 精品国偷自产国产一区| 国产91色综合久久免费分享| 亚洲美女一区二区三区| 欧美一级搡bbbb搡bbbb| 国产成人av福利| 亚洲福利电影网| 久久这里只有精品首页| 色综合天天综合在线视频| 蜜臀久久99精品久久久久宅男 | 欧美日韩精品专区| 韩国成人福利片在线播放| 中文字幕五月欧美| 欧美一区二区观看视频| 国产成人高清在线| 亚洲成人激情综合网| 亚洲精品一区二区三区香蕉| 色久综合一二码| 精品一区二区三区久久久| 欧美久久久久免费| 国产情人综合久久777777| 亚洲mv在线观看| 国产清纯在线一区二区www| 欧美日韩三级在线| 成人污视频在线观看| 蜜臀久久久久久久| 亚洲午夜在线视频| 国产精品久久久久久久午夜片| 日韩一级片网站| 欧美天天综合网| 色综合婷婷久久| 国产成人av电影在线播放| 日产欧产美韩系列久久99| 亚洲乱码日产精品bd| 中文字幕免费不卡| 欧美videos大乳护士334| 欧美日韩久久不卡| 在线观看亚洲精品视频| 99久久99久久精品国产片果冻 | 成人免费小视频| 精品盗摄一区二区三区| 4438成人网| 精品视频一区三区九区| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲韩国精品一区| 亚洲精品国产第一综合99久久| 国产精品麻豆99久久久久久| 国产三级精品三级| 91在线无精精品入口| 色欧美乱欧美15图片| 欧美日韩免费观看一区二区三区| 欧美www视频| 自拍偷拍亚洲欧美日韩| 日韩电影免费在线| eeuss国产一区二区三区| 欧美日韩中文一区| 久久亚洲一级片| 亚洲愉拍自拍另类高清精品| 久久se精品一区二区| 成人一区在线看| 欧美亚洲尤物久久| 国产视频视频一区| 五月婷婷激情综合| 成人一区二区三区在线观看 | av毛片久久久久**hd| 欧美福利视频导航| 国产精品久久久久久亚洲毛片 | 久久99国产精品麻豆| 91小视频在线观看| 精品国产伦一区二区三区免费| 亚洲婷婷综合色高清在线| 久久66热偷产精品| 欧美日韩精品高清| 国产精品国产自产拍高清av| 久久国产精品免费| 亚洲va天堂va国产va久| 国产成人精品免费视频网站| 91精品国产福利在线观看| 亚洲精品亚洲人成人网在线播放| 国产精品资源在线观看| 欧美一区二区精美| 五月激情六月综合| 在线精品观看国产| 国产精品视频免费| 国产精品一区二区三区四区| 91国产免费看| 中文字幕五月欧美| 不卡视频一二三四| 国产区在线观看成人精品| 激情综合网天天干| 欧美大片在线观看一区二区| 亚洲成人动漫精品| 欧美丝袜丝交足nylons图片| 亚洲视频1区2区| 波多野结衣在线一区| 中文成人综合网| 国产999精品久久久久久绿帽| 欧美精品一区二区三区蜜桃 | 亚洲大片精品永久免费| 色老汉一区二区三区| 亚洲精品午夜久久久| 色8久久精品久久久久久蜜| 亚洲欧美综合网| 91丨porny丨中文| 亚洲人成网站色在线观看| eeuss鲁一区二区三区| 成人少妇影院yyyy| 一区在线观看免费| 91美女片黄在线观看| 亚洲激情男女视频| 色婷婷精品大在线视频| 亚洲综合色噜噜狠狠| 91精品福利视频| 亚洲一区二区在线播放相泽| 欧美剧情电影在线观看完整版免费励志电影 | 26uuu亚洲| 国产成人精品免费视频网站| 国产精品麻豆久久久| 一本大道综合伊人精品热热| 色八戒一区二区三区| 一区二区三区四区高清精品免费观看| 色综合久久88色综合天天| 亚洲午夜一二三区视频| 67194成人在线观看| 久久99日本精品| 中文字幕在线一区二区三区| 在线看一区二区| 日日夜夜精品免费视频| 亚洲精品一区二区三区蜜桃下载 | 一区二区三区在线视频免费| 在线观看免费成人| 蜜桃视频一区二区| 成人美女在线视频| 亚洲电影你懂得| 2024国产精品| 91女人视频在线观看| 日韩国产欧美在线播放| 国产午夜亚洲精品午夜鲁丝片| 99久久亚洲一区二区三区青草|