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

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

?? flashprg.c

?? 以前做的一個仿PLC程序
?? C
字號:
/***********************************************************************/
/*  This file is part of the uVision/ARM development tools             */
/*  Copyright (c) 2003-2009 Keil Software. All rights reserved.        */
/***********************************************************************/
/*                                                                     */
/*  FlashDev.C:  Flash Programming Functions adapted for               */
/*               NXP LPC11xx/13xx/LPC17xx Flash using IAP              */
/*                                                                     */
/***********************************************************************/

#include "FlashOS.H"        // FlashOS Structures
#include "..\Drive\PLC_PUBLIC.H"
extern void PLL0_INIT(void);
// Memory Mapping Control(存儲器映射控制)
#define MEMMAP     (*((volatile unsigned char *) 0x400FC040))
// Phase Locked Loop (Main PLL)
#define PLL0CON    (*((volatile unsigned char *) 0x400FC080))
#define PLL0CFG    (*((volatile unsigned long *) 0x400FC084))
#define PLL0STAT   (*((volatile unsigned long *) 0x400FC088))
#define PLL0FEED   (*((volatile unsigned char *) 0x400FC08C))

#define END_SECTOR     29

unsigned long CCLK;            // CCLK in kHz

struct sIAP {                  // IAP Structure
  unsigned long cmd;           // Command
  unsigned long par[4];        // Parameters
  unsigned long stat;          // Status
  unsigned long res[2];        // Result
} IAP;


/* IAP Call */
typedef void (*IAP_Entry) (unsigned long *cmd, unsigned long *stat);
#define IAP_Call ((IAP_Entry) 0x1FFF1FF1)


/*
 * Get Sector Number  獲取扇區編號
 *    Parameter:      adr:  Sector Address
 *    Return Value:   Sector Number
 */

unsigned long GetSecNum (unsigned long adr) {
  unsigned long n;

  n = adr >> 12;                               //  4kB Sector
  if (n >= 0x10) {
    n = 0x0E + (n >> 3);                       // 32kB Sector
  }

  return (n);                                  // Sector Number
}


/*
 *  Initialize Flash Programming Functions(初始化Flash編程功能)
 *    Parameter:      adr:  Device Base Address(地址:設備基址)
 *                    clk:  Clock Frequency (Hz)(時鐘頻率(Hz))
 *                    fnc:  Function Code (1 - Erase, 2 - Program, 3 - Verify)
 *    Return Value:   0 - OK,  1 - Failed
 */

int init (void)//int Init (unsigned long adr, unsigned long clk, unsigned long fnc) {
{ CCLK     = 4000;                             // 4MHz Internal RC Oscillator
  PLL0CON  = 0x00;                             // Disable PLL (use Oscillator)
  PLL0FEED = 0xAA;                             // Feed Sequence Part #1
  PLL0FEED = 0x55;                             // Feed Sequence Part #2
  MEMMAP   = 0x01;                             // User Flash Mode
  return (0);
}

/*
 *  Erase Sector in Flash Memory
 *    Parameter:      adr:  Sector Address
 *    Return Value:   0 - OK,  1 - Failed
 */
//擦除扇區
int EraseSector (unsigned long adr) {
  unsigned long n;

  n = GetSecNum(adr);                          // Get Sector Number

  IAP.cmd    = 50;                             // Prepare Sector for Erase
  IAP.par[0] = n;                              // Start Sector
  IAP.par[1] = n;                              // End Sector
  IAP_Call (&IAP.cmd, &IAP.stat);              // Call IAP Command
  if (IAP.stat) return (1);                    // Command Failed

  IAP.cmd    = 52;                             // Erase Sector
  IAP.par[0] = n;                              // Start Sector
  IAP.par[1] = n;                              // End Sector
  IAP.par[2] = CCLK;                           // CCLK in kHz
  IAP_Call (&IAP.cmd, &IAP.stat);              // Call IAP Command
  if (IAP.stat) return (1);                    // Command Failed

  return (0);                                  // Finished without Errors
}


int ProgramPage2 (unsigned long adr, unsigned long sz, unsigned long buf) {
  unsigned long n;

  n = GetSecNum(adr);                          // Get Sector Number

  IAP.cmd    = 50;                             // Prepare Sector for Write
  IAP.par[0] = n;                              // Start Sector
  IAP.par[1] = n;                              // End Sector
  IAP_Call (&IAP.cmd, &IAP.stat);              // Call IAP Command
  if (IAP.stat) return (1);                    // Command Failed

  IAP.cmd    = 51;                             // Copy RAM to Flash
  IAP.par[0] = adr;                            // Destination Flash Address
  IAP.par[1] = (unsigned long)buf;             // Source RAM Address
  IAP.par[2] = 4096;                           // Fixed Page Size
  IAP.par[3] = CCLK;                           // CCLK in kHz
  IAP_Call (&IAP.cmd, &IAP.stat);              // Call IAP Command
  if (IAP.stat) return (1);                    // Command Failed
  return (0);                                  // Finished without Errors
}

/*
 *  Program iap
 *   
 *   
 *   
 *    Return Value:   0 - OK,  1 - Failed
 */

void Plc_Program_iap(void) {
 disable_timer(0);
 init();//設置IAP時鐘
 EraseSector(0x00040000);
 ProgramPage2(0x00040000,0x00040FFF,PLC_PROG_B_START_ADD);
 ProgramPage2(0x00041000,0x00041FFF,PLC_PROG_B_START_ADD+0x1000);
 ProgramPage2(0x00042000,0x00042FFF,PLC_PROG_B_START_ADD+0x2000);
 ProgramPage2(0x00043000,0x00043FFF,PLC_PROG_B_START_ADD+0x3000);
 PLL0_INIT();
 enable_timer(0);
}

void Plc_Data_Bod_iap(void) {
 init();//設置IAP時鐘
 EraseSector(0x00050000);
 ProgramPage2(0x00050000,0x00050FFF,PLC_R_START_ADD);
 ProgramPage2(0x00051000,0x00051FFF,PLC_R_START_ADD+0x1000);
 ProgramPage2(0x00052000,0x00052FFF,PLC_R_START_ADD+0x2000);
 ProgramPage2(0x00053000,0x00053FFF,PLC_R_START_ADD+0x3000);
 ProgramPage2(0x00054000,0x00054FFF,PLC_R_START_ADD+0x4000);
 PLL0_INIT();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色欲综合视频天天天| 亚洲激情第一区| 91欧美激情一区二区三区成人| 亚洲最大色网站| 欧美精品一区二区三区在线播放 | 天天做天天摸天天爽国产一区 | 久久精子c满五个校花| 91亚洲国产成人精品一区二区三| 久久精品99国产精品日本| 中文字幕欧美一| 欧美成人免费网站| 欧美色中文字幕| 99久久久久久99| 国产精品资源网| 美女一区二区久久| 亚洲国产婷婷综合在线精品| 国产精品天美传媒沈樵| 日韩精品一区二区三区蜜臀 | 亚洲国产精品成人综合| 日韩欧美一二区| 欧美日韩国产在线播放网站| 99久久99久久精品免费看蜜桃| 国内外成人在线| 青青草成人在线观看| 亚洲夂夂婷婷色拍ww47| 国产精品国模大尺度视频| 欧美成人a∨高清免费观看| 欧美美女一区二区| 欧美日韩国产三级| 欧美日韩国产美女| 欧美日韩一区二区三区视频| 一本一道综合狠狠老| 91麻豆国产自产在线观看| 成+人+亚洲+综合天堂| 国产福利不卡视频| 国产资源在线一区| 国内精品伊人久久久久av影院| 日本不卡一二三区黄网| 日韩电影在线一区二区三区| 亚洲一区免费在线观看| 亚洲最快最全在线视频| 亚洲国产wwwccc36天堂| 亚洲综合色区另类av| 一区二区成人在线| 亚洲综合色噜噜狠狠| 国产成人在线视频网址| 激情综合五月天| 韩国成人精品a∨在线观看| 国产一区二区三区不卡在线观看 | 国产999精品久久久久久| 国产一区福利在线| 国产激情精品久久久第一区二区| 国产a视频精品免费观看| 成人激情小说网站| 色综合视频在线观看| 色av综合在线| 欧美午夜精品久久久久久孕妇| 欧美日韩一级二级| 日韩免费视频一区二区| 精品国产乱码久久久久久夜甘婷婷 | 成人手机电影网| av成人老司机| 欧美在线看片a免费观看| 91精品国产欧美一区二区成人| 日韩精品一区二区三区四区 | 香蕉影视欧美成人| 久久精品久久综合| 不卡一卡二卡三乱码免费网站| 色美美综合视频| 337p亚洲精品色噜噜| 日韩片之四级片| 国产亚洲一区二区三区| 亚洲色图丝袜美腿| 五月天激情小说综合| 国产麻豆一精品一av一免费| 99视频精品在线| 777亚洲妇女| 欧美国产日本韩| 亚洲国产视频一区| 国产精品 日产精品 欧美精品| 日本韩国欧美在线| 欧美精品一区二区三区久久久| 一区在线播放视频| 日韩不卡一区二区三区| 顶级嫩模精品视频在线看| 亚洲精品在线观看视频| 亚洲精品老司机| 国产又粗又猛又爽又黄91精品| 国产盗摄一区二区三区| 欧美日韩激情在线| 中文字幕乱码亚洲精品一区| 天天做天天摸天天爽国产一区| 丰满白嫩尤物一区二区| 欧美肥大bbwbbw高潮| 国产精品福利一区二区三区| 午夜精品影院在线观看| 成人午夜免费电影| 日韩欧美久久久| 亚洲伦理在线免费看| 久久97超碰国产精品超碰| 99精品视频一区二区三区| 欧美电视剧免费全集观看| 亚洲毛片av在线| 国产 日韩 欧美大片| 日韩亚洲电影在线| 亚洲综合免费观看高清完整版| 国产一区二区三区最好精华液| 欧美日韩免费视频| 日韩一区中文字幕| 国产在线精品不卡| 欧美一区二区三区播放老司机| 亚洲精品成人在线| 99re这里只有精品首页| 久久久久久久国产精品影院| 蜜桃视频一区二区| 欧美精品vⅰdeose4hd| 亚洲综合色网站| 日本久久一区二区| 国产精品成人免费精品自在线观看 | 欧美亚洲综合另类| ...中文天堂在线一区| 日韩三级在线免费观看| 亚洲一区电影777| 91视频xxxx| 国产精品久久久久aaaa樱花 | 欧美精品日韩综合在线| 亚洲乱码国产乱码精品精可以看 | 亚洲激情图片一区| 91蜜桃免费观看视频| 国产精品免费aⅴ片在线观看| 国产乱码一区二区三区| 2021中文字幕一区亚洲| 精品一区二区免费| 26uuu亚洲综合色| 久久久久久毛片| 中文字幕日本不卡| av影院午夜一区| 中文字幕电影一区| 丁香另类激情小说| 国产精品视频一区二区三区不卡| 国产精品69久久久久水密桃| 久久久精品黄色| 国产不卡免费视频| 国产精品乱码一区二区三区软件| 成人免费的视频| 亚洲免费观看高清| 在线精品观看国产| 亚洲第一二三四区| 欧美一区二区三区免费观看视频| 美日韩一区二区| 久久综合狠狠综合| 成人午夜激情片| 亚洲伦理在线精品| 91精品婷婷国产综合久久竹菊| 日韩精品乱码免费| 精品国产乱码久久久久久闺蜜| 激情av综合网| 欧美国产国产综合| 色噜噜狠狠成人中文综合| 亚洲成人av免费| 日韩欧美国产不卡| 成人激情免费视频| 亚洲动漫第一页| 精品国产免费人成在线观看| 懂色av一区二区三区免费看| 亚洲狼人国产精品| 91精品在线观看入口| 国产精品一区二区黑丝| 亚洲欧美日韩久久| 欧美一区二区三区视频免费| 国产成人免费在线视频| 一区二区三区四区中文字幕| 制服丝袜亚洲色图| 成人午夜激情片| 亚洲成人tv网| 中文子幕无线码一区tr| 日本乱人伦aⅴ精品| 精品亚洲国内自在自线福利| 中文字幕亚洲一区二区va在线| 777久久久精品| 粉嫩一区二区三区性色av| 亚洲高清中文字幕| 久久九九久精品国产免费直播| 欧美午夜视频网站| 国产91精品一区二区麻豆网站| 亚洲午夜一区二区三区| 久久一留热品黄| 欧美日韩一区在线| 福利一区福利二区| 日韩电影在线观看网站| 国产精品久久久久久妇女6080 | 卡一卡二国产精品| 亚洲乱码国产乱码精品精小说| 精品三级在线观看| 欧美日韩一区二区三区在线 | 一区2区3区在线看| 久久久久久久久久久黄色| 欧美日韩免费在线视频| 99re视频精品| 国产一区 二区 三区一级|