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

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

?? hal_mcg.c

?? Kinetis_K60開源底層驅(qū)動開發(fā)包(20120328)
?? C
字號:
/*
 * 測試硬件平臺:LPLD_K60 Card
 * 版權(quán)所有:北京拉普蘭德電子技術(shù)有限公司
 * 網(wǎng)絡(luò)銷售:http://laplenden.taobao.com
 * 公司門戶:http://www.lpld.cn
 *
 * 文件名: HAL_MCG.h
 * 用途: MCG底層模塊相關(guān)函數(shù)
 * 最后修改日期: 20120216
 *
 * 開發(fā)者使用協(xié)議:
 *  本代碼面向所有使用者開放源代碼,開發(fā)者可以隨意修改源代碼。但本段及以上注釋應(yīng)
 *  予以保留,不得更改或刪除原版權(quán)所有者姓名。二次開發(fā)者可以加注二次版權(quán)所有者,
 *  但應(yīng)在遵守此協(xié)議的基礎(chǔ)上,開放源代碼、不得出售代碼本身。
 *
 * 說明:本頁代碼基于Freescale官方示例代碼修改,源代碼文件為 mcg.c
 */
#include "common.h"
#include "HAL_MCG.h"

/*
 * LPLD_PLL_Setup
 * PLL初始化內(nèi)核及其他系統(tǒng)時鐘
 * 
 * 參數(shù):
 *    clk_option--期望內(nèi)核時鐘頻率
 *      |__PLLx--參見HAL_MCG.h中的PLL_option定義
 *
 * 輸出:
 *    內(nèi)核頻率,單位MHz
 */
unsigned char LPLD_PLL_Setup(unsigned char pll_option)
{
  unsigned char pll_freq;
  unsigned char prdiv;
  
  if(pll_option<111)
  {
    prdiv = 24;  
  }
  else if(pll_option<201)
  {
    prdiv = 12; 
  }
  else if(pll_option<221)
  {
    prdiv = 11; 
  }
  else
  {
    return 0;
  }

// 這里假設(shè)復(fù)位后 MCG 模塊默認為 FEI 模式

// 首先移動到 FBE 模式
// 使能外部 resonator(振蕩器), RANGE=2, HGO=1, EREFS=1, LP=0, IRCS=0
    MCG_C2 = MCG_C2_RANGE(2) | MCG_C2_HGO_MASK | MCG_C2_EREFS_MASK;

// 振蕩器初始化完成后,釋放鎖存狀態(tài)下的 oscillator 和 GPIO 
    SIM_SCGC4 |= SIM_SCGC4_LLWU_MASK;
    LLWU_CS |= LLWU_CS_ACKISO_MASK;
  
// 選擇外部 oscilator 、參考分頻器 and 清零 IREFS 啟動外部osc
// CLKS=2, FRDIV=3, IREFS=0, IRCLKEN=0, IREFSTEN=0
  MCG_C1 = MCG_C1_CLKS(2) | MCG_C1_FRDIV(5);  

  while (!(MCG_S & MCG_S_OSCINIT_MASK)){};  // 等待 oscillator 初始化

  while (MCG_S & MCG_S_IREFST_MASK){}; // 等待參考時鐘清零

  while (((MCG_S & MCG_S_CLKST_MASK) >> MCG_S_CLKST_SHIFT) != 0x2){}; // 等待時鐘狀態(tài)顯示為外部參考時鐘(ext ref clk)

// 進入FBE模式
// 配置 PLL 參考分頻器, PLLCLKEN=0, PLLSTEN=0, PRDIV=5
// 用晶振頻率來選擇 PRDIV 值. 僅在有頻率晶振的時候支持
// 產(chǎn)生 2MHz 的參考時鐘給 PLL.
  MCG_C5 = MCG_C5_PRDIV(prdiv); // 設(shè)置 PLL 匹配晶振的參考分頻數(shù) 

// 確保MCG_C6處于復(fù)位狀態(tài),禁止LOLIE、PLL、和時鐘控制器,清PLL VCO分頻器
  MCG_C6 = 0x0;
// 選擇PLL VCO分頻器,系統(tǒng)時鐘分頻器取決于時鐘選項

switch (pll_option) {
  case 60:
    // 設(shè)置系統(tǒng)選項分頻
    // MCG=PLL, core = MCG, bus = MCG/2, FlexBus = MCG/2, Flash clock= MCG/3
    LPLD_Set_SYS_DIV(0,1,1,2);  //core=60M, bus=30M, FlexBus=30M, Flash Clk=20M
    // 設(shè)置 VCO 分頻并使能 50MHz PLL, LOLIE=0, PLLS=1, CME=0, VDIV=1
    MCG_C6 = MCG_C6_PLLS_MASK | MCG_C6_VDIV(6); //VDIV = 6 (2x30) 60MHz
    pll_freq = 60;
    break;
 case 70:
    LPLD_Set_SYS_DIV(0,1,1,2);  //core=70M, bus=35M, FlexBus=35M, Flash Clk=23.3M
    MCG_C6 = MCG_C6_PLLS_MASK | MCG_C6_VDIV(11); //VDIV = 11 (2x35) 70MHz
    pll_freq = 70;
    break;
 case 80:
    LPLD_Set_SYS_DIV(0,1,1,3);  //core=80M, bus=40M, FlexBus=40M, Flash Clk=20M
    MCG_C6 = MCG_C6_PLLS_MASK | MCG_C6_VDIV(16); //VDIV = 16 (2x40) 80MHz
    pll_freq = 80;
    break;
 case 90:
    LPLD_Set_SYS_DIV(0,1,1,3);  //core=90M, bus=45M, FlexBus=45M, Flash Clk=22.5M
    MCG_C6 = MCG_C6_PLLS_MASK | MCG_C6_VDIV(21); //VDIV = 21 (2x45) 90MHz
    pll_freq = 90;
    break;
 case 100:
    LPLD_Set_SYS_DIV(0,1,1,3);  //core=100M, bus=50M, FlexBus=50M, Flash Clk=25M
    MCG_C6 = MCG_C6_PLLS_MASK | MCG_C6_VDIV(26); //VDIV = 26 (2x50) 100MHz
    pll_freq = 100;
    break;
 case 110:
    LPLD_Set_SYS_DIV(0,2,2,4);  //core=110M, bus=36.7M, FlexBus=36.7M, Flash Clk=22M
    MCG_C6 = MCG_C6_PLLS_MASK | MCG_C6_VDIV(31); //VDIV = 31 (2x55) 110MHz
    pll_freq = 110;
    break;
 case 120:
    LPLD_Set_SYS_DIV(0,2,2,4);  //core=120M, bus=40M, FlexBus=40M, Flash Clk=24M
    MCG_C6 = MCG_C6_PLLS_MASK | MCG_C6_VDIV(7); //VDIV = 7 (3.846x31) 119.2MHz
    pll_freq = 120;
    break;
 case 130:
    LPLD_Set_SYS_DIV(0,2,2,5);  //core=130M, bus=43M, FlexBus=43M, Flash Clk=21.6M
    MCG_C6 = MCG_C6_PLLS_MASK | MCG_C6_VDIV(10); //VDIV = 10 (3.846x34) 130.8MHz
    pll_freq = 130;
    break;
 case 150:
    LPLD_Set_SYS_DIV(0,2,2,5);  //core=150M, bus=50M, FlexBus=50M, Flash Clk=25M
    MCG_C6 = MCG_C6_PLLS_MASK | MCG_C6_VDIV(15); //VDIV = 15 (3.846x39) 150MHz
    pll_freq = 150;
    break;
 case 170:
    LPLD_Set_SYS_DIV(0,3,3,6);  //core=170M, bus=42.5M, FlexBus=42.5M, Flash Clk=24.3M
    MCG_C6 = MCG_C6_PLLS_MASK | MCG_C6_VDIV(20); //VDIV = 20 (3.846x44) 169.2MHz
    pll_freq = 170;
    break;
 case 180:
    LPLD_Set_SYS_DIV(0,3,3,7);  //core=180M, bus=45M, FlexBus=45M, Flash Clk=22.5M
    MCG_C6 = MCG_C6_PLLS_MASK | MCG_C6_VDIV(23); //VDIV = 23 (3.846x47) 180.8MHz
    pll_freq = 180;
    break;
 case 200:
    LPLD_Set_SYS_DIV(0,3,3,7);  //core=200M, bus=50M, FlexBus=50M, Flash Clk=25M
    MCG_C6 = MCG_C6_PLLS_MASK | MCG_C6_VDIV(28); //VDIV = 28 (3.846x52) 200MHz
    pll_freq = 200;
    break;
 case 209:
    LPLD_Set_SYS_DIV(0,4,4,8);  //core=209M, bus=42M, FlexBus=42M, Flash Clk=23.2M
    MCG_C6 = MCG_C6_PLLS_MASK | MCG_C6_VDIV(26); //VDIV = 26 (4.17x50) 208.5MHz
    pll_freq = 209;
    break;
}
    
  while (!(MCG_S & MCG_S_PLLST_MASK)){}; // wait for PLL status bit to set

  while (!(MCG_S & MCG_S_LOCK_MASK)){}; // Wait for LOCK bit to set

// 已經(jīng)進入PBE模式

// Transition into PEE by setting CLKS to 0
// CLKS=0, FRDIV=3, IREFS=0, IRCLKEN=0, IREFSTEN=0
  MCG_C1 &= ~MCG_C1_CLKS_MASK;

// Wait for clock status bits to update
  while (((MCG_S & MCG_S_CLKST_MASK) >> MCG_S_CLKST_SHIFT) != 0x3){};

// 已經(jīng)進入PEE模式

  return pll_freq;
} 


/*
 * LPLD_Set_SYS_DIV
 * 設(shè)置系統(tǒng)始終分頻(FSCL官方代碼)
 *
 * 說明:
 * 這段代碼必須放置在RAM中. It is a workaround for errata e2448.
 * 當Flash時鐘分頻改變的時候,F(xiàn)lash預(yù)讀取必須禁用.
 * 當正在從Flash執(zhí)行的時候這里不能執(zhí)行.
 * 在預(yù)讀取被重新使能之前必須在時鐘分頻改變后有一段小的延時.
 *
 * 參數(shù):
 *    outdiv1~outdiv4--分別為core, bus, FlexBus, Flash時鐘分頻系數(shù)
 */
#if (defined(IAR))
	__ramfunc void LPLD_Set_SYS_DIV(uint32 outdiv1, uint32 outdiv2, uint32 outdiv3, uint32 outdiv4)
#elif (defined(CW))
__relocate_code__ 
void LPLD_Set_SYS_DIV(uint32 outdiv1, uint32 outdiv2, uint32 outdiv3, uint32 outdiv4)
#endif
{
  uint32 temp_reg;
  uint8 i;
  
  temp_reg = FMC_PFAPR; // 備份 FMC_PFAPR 寄存器
  
  // 設(shè)置 M0PFD 到 M7PFD 為 1 禁用預(yù)先讀取
  FMC_PFAPR |= FMC_PFAPR_M7PFD_MASK | FMC_PFAPR_M6PFD_MASK | FMC_PFAPR_M5PFD_MASK
             | FMC_PFAPR_M4PFD_MASK | FMC_PFAPR_M3PFD_MASK | FMC_PFAPR_M2PFD_MASK
             | FMC_PFAPR_M1PFD_MASK | FMC_PFAPR_M0PFD_MASK;
  
  // 設(shè)置時鐘分頻為期望值  
  SIM_CLKDIV1 = SIM_CLKDIV1_OUTDIV1(outdiv1) | SIM_CLKDIV1_OUTDIV2(outdiv2) 
              | SIM_CLKDIV1_OUTDIV3(outdiv3) | SIM_CLKDIV1_OUTDIV4(outdiv4);

  // 延時一小段時間等待改變
  for (i = 0 ; i < outdiv4 ; i++)
  {}
  
  FMC_PFAPR = temp_reg; // 回復(fù)原先的 FMC_PFAPR 寄存器值
  
  return;
} // set_sys_dividers

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩你懂的在线播放| 99久久婷婷国产综合精品电影| 欧美高清精品3d| 亚洲成人午夜影院| 7777女厕盗摄久久久| 亚洲va欧美va国产va天堂影院| 欧美日韩一区三区| 免费在线观看精品| 久久久精品tv| 91福利国产精品| 日韩和欧美的一区| 久久亚区不卡日本| 99在线精品免费| 亚洲影视在线播放| 日韩欧美久久久| 成人免费毛片aaaaa**| 亚洲精品免费一二三区| 欧美美女网站色| 久久精品二区亚洲w码| 国产精品乱码妇女bbbb| 欧美综合一区二区| 精品一区二区免费| 亚洲女爱视频在线| 日韩一区二区视频| 成人理论电影网| 日韩不卡一二三区| 中文字幕永久在线不卡| 欧美视频第二页| 精品一二三四区| 亚洲精品v日韩精品| 日韩精品一区二区三区在线播放| 成人性视频免费网站| 图片区日韩欧美亚洲| 国产日韩影视精品| 91精品一区二区三区在线观看| 国产成人精品免费视频网站| 天天av天天翘天天综合网色鬼国产| 久久久久久久久97黄色工厂| 欧美三级日韩在线| av不卡在线播放| 国产在线一区二区综合免费视频| 亚洲一区在线视频观看| 欧美国产一区视频在线观看| 91精品国产手机| 欧美专区在线观看一区| 国产老肥熟一区二区三区| 亚洲午夜精品网| 国产精品天干天干在观线| 日韩欧美成人午夜| 欧美绝品在线观看成人午夜影视| 成人黄页在线观看| 韩国女主播成人在线| 三级欧美韩日大片在线看| 中文字幕一区日韩精品欧美| 精品久久久久久久久久久院品网 | 紧缚奴在线一区二区三区| 亚洲国产精品久久一线不卡| 成人免费一区二区三区在线观看 | 91免费视频观看| 国产成人精品综合在线观看| 久久精品国产99| 蜜臀91精品一区二区三区| 亚洲超碰97人人做人人爱| 综合久久一区二区三区| 欧美国产欧美综合| 日本中文字幕一区二区有限公司| 一区二区三区四区高清精品免费观看| 久久久久九九视频| 久久蜜桃一区二区| 日韩女优毛片在线| 日韩精品一区二区三区三区免费| 欧美二区乱c少妇| 777欧美精品| 欧美一级高清片| 日韩午夜激情电影| 精品久久久影院| 久久综合九色综合欧美98 | 色欧美乱欧美15图片| 91色porny| 欧美日韩中文另类| 欧美系列一区二区| 欧美日本国产视频| 91精品国产一区二区三区| 欧美一卡二卡三卡| 欧美va亚洲va在线观看蝴蝶网| 欧美成人女星排名| 久久久九九九九| 《视频一区视频二区| 亚洲日本成人在线观看| 亚洲综合久久av| 天天av天天翘天天综合网 | 国产精品99久久久久久似苏梦涵| 国产一区中文字幕| 成人av第一页| 在线一区二区观看| 制服丝袜亚洲网站| 久久综合久久综合亚洲| 中文字幕一区二区5566日韩| 亚洲综合男人的天堂| 奇米四色…亚洲| 国产大陆亚洲精品国产| 色婷婷综合久久久中文一区二区| 欧美体内she精高潮| 欧美tickling网站挠脚心| 国产欧美精品区一区二区三区| 成人免费一区二区三区视频 | 综合精品久久久| 五月天国产精品| 成人亚洲精品久久久久软件| 在线观看精品一区| 亚洲精品一区二区三区精华液| 亚洲国产高清不卡| 五月天中文字幕一区二区| 国产一区二区电影| 在线免费亚洲电影| 久久综合色综合88| 亚洲国产乱码最新视频| 国产一区 二区| 精品视频一区三区九区| 久久久蜜桃精品| 一区二区高清视频在线观看| 国精产品一区一区三区mba桃花| 99久久精品免费精品国产| 欧美一区二区三区影视| 亚洲欧美日韩综合aⅴ视频| 蜜臀精品久久久久久蜜臀| 成人av免费观看| 精品国产一区a| 亚洲成av人片一区二区梦乃| 成人97人人超碰人人99| 欧美一级爆毛片| 亚洲午夜电影在线| 97久久精品人人做人人爽| 精品对白一区国产伦| 亚洲一区二区精品久久av| 成人a区在线观看| 久久色视频免费观看| 日本欧美一区二区在线观看| 欧美日韩国产色站一区二区三区| 国产精品国产三级国产有无不卡| 免费在线成人网| 欧美视频中文一区二区三区在线观看| 久久精品视频免费| 久久精品国产久精国产爱| 精品视频1区2区| 亚洲码国产岛国毛片在线| 国产福利不卡视频| 2021中文字幕一区亚洲| 蜜桃91丨九色丨蝌蚪91桃色| 欧美影视一区二区三区| 最新国产成人在线观看| 国产成人亚洲综合a∨婷婷图片 | 粉嫩av亚洲一区二区图片| 日韩精品一区二区三区视频播放 | 日本一区二区免费在线 | 午夜精品影院在线观看| 色婷婷精品大视频在线蜜桃视频| 久久亚洲影视婷婷| 国产在线观看免费一区| 日韩免费看的电影| 蜜臀91精品一区二区三区| 9191国产精品| 日韩成人午夜电影| 欧美丰满少妇xxxbbb| 日韩国产欧美三级| 欧美高清激情brazzers| 日本亚洲电影天堂| 欧美一级欧美三级| 日本一道高清亚洲日美韩| 91精品麻豆日日躁夜夜躁| 日本伊人精品一区二区三区观看方式 | 国产精品二区一区二区aⅴ污介绍| 国产91丝袜在线观看| 欧美国产禁国产网站cc| 成人激情开心网| 亚洲精品免费在线观看| 欧美日韩久久不卡| 日韩福利电影在线| 欧美本精品男人aⅴ天堂| 国产一区二区h| 亚洲欧美自拍偷拍| 欧美三片在线视频观看| 日本亚洲视频在线| 久久久电影一区二区三区| 丁香啪啪综合成人亚洲小说 | 亚洲人成在线观看一区二区| 色哟哟精品一区| 丝袜亚洲另类欧美| 精品久久久久99| 成人激情开心网| 亚洲丶国产丶欧美一区二区三区| 欧美日韩一二区| 精品亚洲国内自在自线福利| 欧美国产国产综合| 欧美性受xxxx黑人xyx性爽| 久久精品免费观看| 欧美国产日韩在线观看| 欧美日韩一级黄| 国产黄人亚洲片| 亚洲国产精品久久久久婷婷884|