⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 landzo

📁 【开源】线性CCD自适应性算法攻略
💻
字号:
/******************** (C) COPYRIGHT 2011 野火嵌入式开发工作室 ********************
 * 文件名       :mcg.h
 * 描述         :锁相环头文件
 *
 * 实验平台     :野火kinetis开发板
 * 库版本       :
 * 嵌入系统     :
 *
 * 作者         :野火嵌入式开发工作室
 * 淘宝店       :http://firestm32.taobao.com
 * 技术支持论坛 :http://www.ourdev.cn/bbs/bbs_list.jsp?bbs_id=1008
**********************************************************************************/

#ifndef __MCG_H__
#define __MCG_H__


enum crystal_val
{
    XTAL2,
    XTAL4,
    XTAL6,
    XTAL8,
    XTAL10,
    XTAL12,
    XTAL14,
    XTAL16,
    XTAL18,
    XTAL20,
    XTAL22,
    XTAL24,
    XTAL26,
    XTAL28,
    XTAL30,
    XTAL32
};


typedef enum clk_option
{
    PLLUSR      ,  //自定义设置分频系数模式,直接加载 全局变量 mcg_div 的值
    PLL48    = 48,
    PLL50    = 50,
    PLL96    = 96,
    PLL100   = 100,
    PLL110   = 110,
    PLL120   = 120,
    PLL125   = 125,
    PLL130   = 130,
    PLL140   = 140,
    PLL150   = 150,
    PLL160   = 160,
    PLL170   = 170,
    PLL180   = 180,
    PLL200   = 200, //绝大部分芯片都成超到这个程度
    PLL225   = 225, //不同芯片,不同板子,超频能力不一样,不一定全部都能超到这个水平
    PLL250   = 250
} clk_option;


//时钟分频因子
struct mcg_div
{
    u8 prdiv;       //外部晶振分频因子选项
    u8 vdiv;        //外部晶振倍频因子选项
    u8 core_div;    //内核时钟分频因子
    u8 bus_div;     //总线时钟分频因子
    u8 flex_div;    //flex时钟分频因子
    u8 flash_div;   //flash时钟分频因子
};

extern struct mcg_div  mcg_div;


unsigned char pll_init(clk_option);         //锁相环初始化



/********************** 内部用 或 不常用  **************************/

__RAMFUN void set_sys_dividers(uint32 outdiv1, uint32 outdiv2, uint32 outdiv3, uint32 outdiv4);




/********************************************************************/
#endif /* __MCG_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -