当前位置:首页 > 单片机 > 单片机
[导读]#define XTAL_FREQ 12000000#define VECT_TAB_OFFSET 0x0000void SystemInit(void){ //PLL0时钟配置 LPC_SC->SCS=0X00000020; /*使能外部主晶振,频率范围1-20M*/if(LPC_SC->SCS&(1PCLKSEL1=0x00000000; LPC_SC->CLKS

#define XTAL_FREQ 12000000

#define VECT_TAB_OFFSET 0x0000

void SystemInit(void)

{

//PLL0时钟配置

LPC_SC->SCS=0X00000020; /*使能外部主晶振,频率范围1-20M*/

if(LPC_SC->SCS&(1<<5)) /* 主时钟被使能 */

{

while((LPC_SC->SCS&(1<<6))==0);/* 等待主晶振使能并稳定 */

}

LPC_SC->CCLKCFG=0x00000003; /* 选择PLL到CCLK的分频 4 */

LPC_SC->PCLKSEL0=0x00000000; /*选择外设时钟从CCLK的分屏 均为0,均为4分频率,后期可改 */

LPC_SC->PCLKSEL1=0x00000000;

LPC_SC->CLKSRCSEL=0x00000001; /* 选择CCLK时钟源 主震荡器作为PLL0时钟源 */

LPC_SC->PLL0CFG=0x00050063; /* 选择PLL倍频 N 6 M 100 pllout 400M */

LPC_SC->PLL0FEED=0xAA;

LPC_SC->PLL0FEED=0x55;

LPC_SC->PLL0CON=0x01; /* 使能PLL0 */

LPC_SC->PLL0FEED=0xAA;

LPC_SC->PLL0FEED=0x55;

while(!(LPC_SC->PLL0STAT&(1<<26)));/* 等待PLL0锁定 */

LPC_SC->PLL0CON=0x03; /* 使能PLL0连接并使能 */

LPC_SC->PLL0FEED=0xAA;

LPC_SC->PLL0FEED=0x55;

while(!(LPC_SC->PLL0STAT&((1<<25)|(1<<24))));/* 等待连接并使能成功 */

//PLL1时钟配置

LPC_SC->PLL1CFG=0x00000023; /*设置PLL1分频 M 3 P 2 */

LPC_SC->PLL1FEED=0xAA;

LPC_SC->PLL1FEED=0x55;

LPC_SC->PLL1CON=0x01; /* PLL1 Enable */

LPC_SC->PLL1FEED=0xAA;

LPC_SC->PLL1FEED=0x55;

while(!(LPC_SC->PLL1STAT&(1<<10)));/* 等待PLL时钟锁定 */

LPC_SC->PLL1CON=0x03; /* 使能并连接 */

LPC_SC->PLL1FEED=0xAA;

LPC_SC->PLL1FEED=0x55;

while(!(LPC_SC->PLL1STAT&((1<<9)|(1<<8))));/* 等待连接并使能成功 */

LPC_SC->PCONP=0x00000008; /* 初始化仅仅打开UART0时钟 */

LPC_SC->CLKOUTCFG=0x00000000; /* 不使用CLOCK输出 */

LPC_SC->FLASHCFG=0x0000403A; //设置flash访问时间

#if (__RAM_MODE__==1) //根据配置

SCB->VTOR=0x10000000|VECT_TAB_OFFSET;

#else

SCB->VTOR=0x00000000|VECT_TAB_OFFSET; //中断向量表在flash区间,偏移为0

#endif

}


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

系统时钟是STM32微控制器中最重要的部分之一,它负责提供时序信号以驱动处理器核心、外设和其他系统模块的运行。

关键字: STM32 系统时钟

本文以6MHz时钟的单片机AT89C51系统为例,说明时钟中断的应用:

关键字: at89c51 中断 单片机 系统时钟

STM32F10x内核中都具有一个系统时钟基定时器,是一个24位的递减计数器。在其设置处置并使能后,每经过一个系统时钟周期,计数值减1.档计数值减到0时系统时基定时器又会自动重载初值。系统时基定时器每10ms就会产生一

关键字: STM32 系统时钟 基定时器

1. STM32的时钟系统在STM32中,一共有5个时钟源,分别是HSI、HSE、LSI、LSE、PLL(1)HSI是高速内部时钟,RC振荡器,频率为8MHz;(2)HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部...

关键字: STM32 系统时钟

  之前说了stm32的iap编程,今天天气真好,顺手就来说说lpc1788的iap编程(没看前面的请查看stm笔记下的内容)  首先是flash的算法,lpc1768并没有寄存器来让我们操作flash,他内置了iap的...

关键字: iap lpc1768 上位机

在设置之前呢,我得把ATMEGA16里面的datasheet里面的资料说说,当然是关于系统时钟和时钟选项的一、系统时钟及时钟选项(这里主要是介绍原理,三里面会介绍如何设置,其实你会了一,那后面的二和三就相当简单了~~你懂

关键字: atmega16 avr单片机 proteus 系统时钟

#ifndef __USB_H__#define __USB_H__//usb传输数据的宏定义描述#include "sys.h"typedef__packed union{ U16 W; __pac...

关键字: lpc1768 USB 结构体定义

一、背景USB在持续通信几十万次后,会出现USBIN中断丢失几次的情况,分析是中断优先级不够高,导致USB中断在排队,然而排队还未完成,又有新的USB中断发生,致使其中断丢失。LPC1769的所有中断默认为最高优先级&q...

关键字: 1769 lpc1768 中断优先级

开发环境:MAPLAB X IDE v1.85编译器:MPLAB XC 321.使用说明:PIC32外设库提供用于设置和控制32位外设的函数和宏。希望使用外设库的应用程序只需在其源文件中包含一个头文件即可访问任意受支持的...

关键字: 单片机 系统时钟 pic32mx 外设库 基本设置

枚举过程如下#ifndef __USBCORE_H__#define __USBCORE_H__/* USB端点0 发送数据结构体*/typedefstruct _USB_EP_DATA{ U8*pData; U16 C...

关键字: lpc1768 usb使用 枚举过程
关闭