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

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

?? msp430x21x1_flashwrite_04.c

?? MSP430樣例程序
?? C
字號:
//******************************************************************************
//  MSP430x21x1 Demo - Flash In-System Programming w/ EEI, Copy SegC to SegD
//
//  Description: This program first erases flash seg D, then it increments all
//  values in seg D, then it erases segs A,B,C and copies D to those locations
//  The EEI bit is set for the Flash Erase Cycles. This does allow the Timer_A
//  Interrupts to be handled also during the Segment erase time.
//  MCLK = 1Mhz Calibrated Value
//  //* Set Breakpoint on NOP in the Mainloop to avoid Stressing Flash *//
//
//               MSP430F21x1
//            -----------------
//        /|\|              XIN|-
//         | |                 |
//         --|RST          XOUT|-
//           |                 |
//
//  Z. Albus / L. Westlund
//  Texas Instruments Inc.
//  December 2005
//  Built with IAR Embedded Workbench Version: 3.40A
//******************************************************************************

#include <msp430x21x1.h>

char  value;                                // 8-bit value to write to segment D

// Function prototypes
void write_SegD (char value);
void copy_D2A (void);
void copy_D2B (void);
void copy_D2C (void);

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

  BCSCTL1 = CALBC1_1MHZ;                    // Set DCO to 1MHz
  DCOCTL = CALDCO_1MHZ;

  P1DIR |= 0x01;                            // P1.0 output
  CCTL0 = CCIE;                             // CCR0 interrupt enabled
  CCR0 = 1000;
  TACTL = TASSEL_1 + MC_1;                  // ACLK, upmode

  WDTCTL = WDT_ADLY_1000;                   // WDT 1s, ACLK, interval timer
  IE1 |= WDTIE;                             // Enable WDT interrupt

  _EINT();                                  // enable interrupts

  FCTL2 = FWKEY + FSSEL0 + FN1;             // MCLK/3 for Flash Timing Generator
  value = 0;                                // initialize value

  while(1)                                  // Repeat forever
  {
    LPM3;
    write_SegD(value++);                    // Write segment D, increment value
    copy_D2A();                             // Copy segment D to A
    copy_D2B();                             // Copy segment D to B
    copy_D2C();                             // Copy segment D to C
  }
}

void write_SegD (char value)
{
  char *Flash_ptr;                          // Flash pointer
  unsigned int i;

  Flash_ptr = (char *) 0x1000;              // Initialize Flash pointer
  FCTL1 = FWKEY + ERASE + EEI;              // Set Erase bit, allow interrupts
  FCTL3 = FWKEY;                            // Clear Lock bit
  *Flash_ptr = 0;                           // Dummy write to erase Flash segment

  FCTL1 = FWKEY + WRT;                      // Set WRT bit for write operation

  for (i=0; i<64; i++)
  {
    *Flash_ptr++ = value;                   // Write value to flash
  }

  FCTL1 = FWKEY;                            // Clear WRT bit
  FCTL3 = FWKEY + LOCK;                     // Set LOCK bit
}

// Warning: When this function is called, it MUST complete or
// DCO calibration constants will be lost
void copy_D2A (void)
{
  char *Flash_ptrA;                         // Segment A pointer
  char *Flash_ptrD;                         // Segment D pointer
  unsigned int i;
  char CAL_DATA[10];

  Flash_ptrA = (char *) 0x10F6;             // Initialize Flash segment A pointer
  for (i=0; i<10; i++)
  {
      CAL_DATA[i] = *Flash_ptrA++;          // Save DCO constants
  }

  Flash_ptrA = (char *) 0x10C0;             // Initialize Flash segment A pointer
  Flash_ptrD = (char *) 0x1000;             // Initialize Flash segment D pointer
  FCTL1 = FWKEY + ERASE + EEI;              // Set Erase bit, allow interrupts
  FCTL3 = FWKEY + LOCKA;                    // Clear LOCK & LOCKA bits
  *Flash_ptrA = 0;                          // Dummy write to erase Flash segment A
  FCTL1 = FWKEY + WRT;                      // Set WRT bit for write operation

  for (i=0; i<54; i++)
  {
    *Flash_ptrA++ = *Flash_ptrD++;          // copy value segment D to segment A
  }

  for (i=0; i<10; i++)
  {
    *Flash_ptrA++ = CAL_DATA[i];            // re-flash DCO calibration data
  }

  FCTL1 = FWKEY;                            // Clear WRT bit
  FCTL3 = FWKEY + LOCKA + LOCK;             // Set LOCK & LOCKA bit
}

void copy_D2B (void)
{
  char *Flash_ptrB;                         // Segment B pointer
  char *Flash_ptrD;                         // Segment D pointer
  unsigned int i;

  Flash_ptrB = (char *) 0x1080;             // Initialize Flash segment B pointer
  Flash_ptrD = (char *) 0x1000;             // Initialize Flash segment D pointer
  FCTL1 = FWKEY + ERASE + EEI;              // Set Erase bit, allow interrupts
  FCTL3 = FWKEY;                            // Clear LOCK bit
  *Flash_ptrB = 0;                          // Dummy write to erase Flash segment B
  FCTL1 = FWKEY + WRT;                      // Set WRT bit for write operation

  for (i=0; i<64; i++)
  {
    *Flash_ptrB++ = *Flash_ptrD++;          // copy value segment D to segment B
  }

  FCTL1 = FWKEY;                            // Clear WRT bit
  FCTL3 = FWKEY + LOCK;                     // Set LOCK bit
}

void copy_D2C (void)
{
  char *Flash_ptrC;                         // Segment C pointer
  char *Flash_ptrD;                         // Segment D pointer
  unsigned int i;

  Flash_ptrC = (char *) 0x1040;             // Initialize Flash segment C pointer
  Flash_ptrD = (char *) 0x1000;             // Initialize Flash segment D pointer
  FCTL1 = FWKEY + ERASE + EEI;              // Set Erase bit, allow interrupts
  FCTL3 = FWKEY;                            // Clear LOCK bit
  *Flash_ptrC = 0;                          // Dummy write to erase Flash segment C
  FCTL1 = FWKEY + WRT;                      // Set WRT bit for write operation

  for (i=0; i<64; i++)
  {
    *Flash_ptrC++ = *Flash_ptrD++;          // copy value segment D to segment C
  }

  FCTL1 = FWKEY;                            // Clear WRT bit
  FCTL3 = FWKEY + LOCK;                     // Set LOCK bit
}

// Timer A0 interrupt service routine
__interrupt void Timer_A (void);
TIMERA0_ISR(Timer_A)
__interrupt void Timer_A (void)
{
  P1OUT ^= 0x01;                            // Toggle P1.0
}

// Timer A0 interrupt service routine
__interrupt void WDT (void);
WDT_ISR(WDT)
__interrupt void WDT (void)
{
  LPM3_EXIT;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产三级在线| 日本三级亚洲精品| 日韩欧美第一区| 国产 欧美在线| 午夜免费久久看| 亚洲欧洲av在线| 精品盗摄一区二区三区| 欧美日韩小视频| 波多野结衣精品在线| 久久精品国产99久久6| 亚洲一区二区三区自拍| 久久久99久久| 精品久久久久香蕉网| 色婷婷久久久亚洲一区二区三区 | 国产精品久久久久久久蜜臀| 337p亚洲精品色噜噜| 一本久久a久久精品亚洲| 精品一区二区三区免费观看| 亚洲国产va精品久久久不卡综合| 欧美激情一区二区三区不卡| 欧美tickling挠脚心丨vk| 欧美日韩国产一级二级| 91麻豆免费观看| 成人免费看视频| 国产成人综合网站| 国产麻豆精品theporn| 麻豆精品新av中文字幕| 日本人妖一区二区| 日本va欧美va欧美va精品| 亚洲福利视频三区| 国内成+人亚洲+欧美+综合在线| 天天操天天干天天综合网| 一区二区三区欧美激情| 亚洲激情五月婷婷| 亚洲六月丁香色婷婷综合久久 | 欧美高清性hdvideosex| 欧美日韩一区在线观看| 欧美性生活久久| 欧美在线视频全部完| 日本高清不卡aⅴ免费网站| 91蜜桃网址入口| 91蜜桃婷婷狠狠久久综合9色| 91在线观看地址| 欧美综合在线视频| 欧美老肥妇做.爰bbww视频| 欧美老肥妇做.爰bbww| 欧美一区二区三区视频在线| 日韩一区二区在线观看视频| 欧美一区二区三区免费在线看| 在线播放一区二区三区| 91精品国产91久久久久久一区二区| 欧美精品在线一区二区三区| 欧美一区二区三区系列电影| 日韩欧美国产一区二区三区 | 北岛玲一区二区三区四区| 97精品国产露脸对白| 色综合色综合色综合色综合色综合| av欧美精品.com| 色欧美片视频在线观看在线视频| 在线亚洲免费视频| 91精品国产综合久久福利 | 日韩精品一区二区三区中文精品| 日韩精品一区二区三区中文不卡 | 国产精品无人区| 亚洲情趣在线观看| 成人国产精品视频| 色婷婷综合久久久中文字幕| 欧美日韩黄色一区二区| 日韩一二三区不卡| 欧美激情艳妇裸体舞| 一个色妞综合视频在线观看| 蜜臀国产一区二区三区在线播放 | 日韩成人精品视频| 国产盗摄女厕一区二区三区| 99国产欧美另类久久久精品| 欧美丝袜自拍制服另类| 精品久久国产字幕高潮| 国产精品网站一区| 亚洲自拍偷拍图区| 精品一二三四区| 9l国产精品久久久久麻豆| 欧美午夜精品免费| 国产日韩av一区二区| 一区二区三区欧美视频| 国产麻豆精品在线观看| 日本精品视频一区二区三区| 欧美大片一区二区| 一区二区三区中文在线| 热久久一区二区| 91色婷婷久久久久合中文| 日韩一区二区三区视频| 中文字幕免费在线观看视频一区| 午夜精品久久久久久久久久| 国产风韵犹存在线视精品| 欧美三级在线播放| 国产精品午夜电影| 天天av天天翘天天综合网色鬼国产| 成人禁用看黄a在线| 欧美久久一二区| 亚洲图片你懂的| 国产精品羞羞答答xxdd| 欧美日韩亚洲不卡| 亚洲欧美另类综合偷拍| 国内精品伊人久久久久av影院 | 欧美在线免费播放| 久久久91精品国产一区二区精品| 亚洲第一av色| 99热精品一区二区| 国产视频视频一区| 日韩精品乱码免费| 欧美性videosxxxxx| 国产精品久久久久影院老司 | 夜夜亚洲天天久久| 国产99久久久久| 26uuu国产电影一区二区| 日韩综合小视频| 91免费在线播放| 国产精品女同一区二区三区| 精品中文字幕一区二区小辣椒| 欧美日本国产一区| 亚洲一卡二卡三卡四卡五卡| 99热这里都是精品| 中文字幕一区三区| 国产69精品久久99不卡| 久久综合一区二区| 精品一区二区三区免费毛片爱 | 91女厕偷拍女厕偷拍高清| 国产精品视频免费看| 精品一区二区三区在线播放| 日韩视频永久免费| 蜜桃精品在线观看| 91精品国产综合久久精品app| 亚洲国产裸拍裸体视频在线观看乱了 | www.激情成人| 国产精品久久久久四虎| 北条麻妃一区二区三区| 国产精品毛片无遮挡高清| 国产91精品露脸国语对白| 欧美高清在线一区| 成人黄色片在线观看| 国产精品美女久久久久久久久 | 91社区在线播放| 亚洲色图视频免费播放| 色婷婷国产精品久久包臀| 一区二区欧美在线观看| 欧美日韩国产影片| 美女视频黄a大片欧美| 精品久久人人做人人爱| 国产成人精品免费在线| 一区二区中文视频| 色妞www精品视频| 亚洲不卡在线观看| 91精品国产一区二区| 美洲天堂一区二卡三卡四卡视频 | 欧美videos大乳护士334| 黄色成人免费在线| 久久精品亚洲一区二区三区浴池| 国产盗摄女厕一区二区三区| 中文字幕日韩精品一区| 91性感美女视频| 偷窥国产亚洲免费视频| 精品三级在线看| eeuss影院一区二区三区| 亚洲自拍另类综合| 欧美大片顶级少妇| 波多野结衣亚洲一区| 午夜精品福利久久久| 日韩视频一区二区三区| 51久久夜色精品国产麻豆| 精品制服美女丁香| 日本一区免费视频| 午夜精品久久久久久不卡8050| 五月天国产精品| 欧美一区二区在线视频| 国产激情视频一区二区在线观看 | 久久精品国产亚洲a| 国产色产综合色产在线视频| 日本韩国欧美三级| 久久99精品一区二区三区| 国产精品久久久久久亚洲伦 | 91免费精品国自产拍在线不卡| 视频一区欧美日韩| 国产精品久久久久aaaa樱花| 欧美挠脚心视频网站| 大白屁股一区二区视频| 午夜精品在线视频一区| 国产精品日日摸夜夜摸av| 欧美日韩国产小视频| 成人a区在线观看| 热久久一区二区| 亚洲女同一区二区| 久久色在线观看| 欧美视频一区二区三区四区| 粉嫩aⅴ一区二区三区四区 | 久久免费偷拍视频| 欧美综合视频在线观看| 国产盗摄一区二区| 免费观看30秒视频久久| 亚洲精品高清在线观看| 亚洲精品一区二区三区福利|