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

📄 target.c

📁 Rabbit 32Bit RTOS源代码
💻 C
字号:
/*********************************************************************
*                   Copyright (c) 2011-2012,李士伟
*                     All rights reserved.
*文 件 名:target.c
*描    述:目标板配置初始化源文件
*当前版本:V1.00
*作    者:李士伟
*创建日期:2011.09.24
**********************************************************************/
#include <drivers\lpc2103\target.h>
#include <drivers\lpc2103\uart0.h>
#include <drivers\lpc2103\vic.h>
#include <drivers\lpc2103\timer0.h>
#include <drivers\lpc2103\watchdog.h>
#include <drivers\lpc2103\rtc.h>
#include <drivers\lpc2103\pinsel.h>

/*********************************************************************
*函 数 名:InitDriver
*描    述:该函数调用各驱动模块的初始化函数初始化目标板
*输入参数:无
*输出参数:无
*返 回 值:无
*注    意:
**********************************************************************/
void InitDriver(void)
{
    PLLCON = 0; /*断开关闭PLL连接*/

#if   PSEL == 1
    PLLCFG = (0x00 | (MSEL-1));

#elif PSEL == 2
    PLLCFG = (0x20 | (MSEL-1));

#elif PSEL == 4
    PLLCFG = (0x40 | (MSEL-1));

#elif PSEL == 8
    PLLCFG = (0x60 | (MSEL-1));

#endif

    PLLFEED = 0xaa;
    PLLFEED = 0x55;
    while (PLLSTAT & (1<<10) == 0) ; /* 等待PLL锁定到指定频率 */
    PLLCON = 3;  /* 连接使能PLL */
    PLLFEED = 0xaa;
    PLLFEED = 0x55;
    
#if   (Fcclk / Fpclk) == 1 
    APBDIV = 1;  /* 处理器频率 */
    
#elif (Fcclk / Fpclk) == 2 
    APBDIV = 2;  /* 1/2处理器频率 */
    
#elif (Fcclk / Fpclk) == 4 
    APBDIV = 0;  /* 1/4处理器频率 */
#endif

    MAMCR = 0;  /* 设置MAM前,先关闭MAM */
    MAMTIM = MAM_FETCH_TIM;
    MAMCR = MAM_MODE;   /* 开启MAM */
    PIN_Init();
    VIC_Init(0);  /* 初始化VIC,不保护VIC寄存器 */
    /* 初始化定时器0, 该定时器产生的中断作为系统时钟节拍的中断源 */
    Timer0_Init();
    RTC_Init();
    WD_Start(10000, 9000);  /* 设置watchdog溢出周期为10s ,喂狗周期为9s*/
}

⌨️ 快捷键说明

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