当前位置:网站首页>Dspic33ep clock initialization program
Dspic33ep clock initialization program
2022-07-05 11:09:00 【Full stack programmer webmaster】
// file name p33clk.h
#ifndef _P33CLK_H_
#define _P33CLK_H_
//#include "p33clk.h"
#define WDT_ENB _SWDTEN = 1
#define WDT_DIS _SWDTEN = 0
// Clock source selection
#define OSCLK0 0 //FRC
#define OSCLK1 1 // belt PLL+N Frequency division FRC
#define OSCLK2 2 //HS MS LS The external clock
#define OSCLK3 3 // belt PLL Of HS MS LS The external clock
#define OSCLK4 4 // Retain
#define OSCLK5 5 //LPRC
#define OSCLK6 6 //FRC/16
#define OSCLK7 7 // belt N Frequency division FRC
// Processor and CPU Clock division ratio
#define DOZEDIV1 (0<<12)
#define DOZEDIV2 (1<<12)
#define DOZEDIV4 (2<<12)
#define DOZEDIV8 (3<<12)
#define DOZEDIV16 (4<<12)
#define DOZEDIV32 (5<<12)
#define DOZEDIV64 (6<<12)
#define DOZEDIV128 (7<<12)
//------------------------------
//Fosc = (Fin/V_FRCDIV/N1/N2)*M
#define V_FRCDIV V_FRCDIV1 //FRC Oscillation frequency division coefficient
#define V_N1 V_N1DIV(2) //x = 2--33 N1 Division coefficient
#define V_N2 V_N2DIV2 //N2 Division coefficient
#define V_PLLFBD PLLMF(50) //(x=2--513)PLL Octave ratio
//FRC Division coefficient
#define V_FRCDIV1 0
#define V_FRCDIV2 1
#define V_FRCDIV4 2
#define V_FRCDIV8 3
#define V_FRCDIV16 4
#define V_FRCDIV32 5
#define V_FRCDIV64 6
#define V_FRCDIV256 7
//N1
#define V_N1DIV(x) (x-2)
//N2
#define V_N2DIV2 0
#define V_N2DIV4 1
#define V_N2DIV8 3
//PLL Octave number M
#define PLLMF(x) (x-2)
//================================
extern void Init_Clk(uint16 OsClk) ;
#endif
// file name p33clk.c
#include "global.h"
#include "p33clk.h"
//***************************************
// The name of the function :InitClk
// The functionality : Initialize the clock
// Entrance parameters : Clock source selection FRC frequency division pll Octave ratio
// Export parameters : nothing
// Return value : nothing
// Fosc = (Fin/V_FRCDIV/N1/N2)*M
//***************************************
void Init_Clk(uint16 OsClk)
{
CLKDIV = 0X0000 ; // The clock ratio between processor and peripheral is 1:1
_FRCDIV = V_FRCDIV ; //FRC Division coefficient
_PLLPOST = V_N2 ;//N2
_PLLPRE = V_N1 ;//N1
PLLFBD = V_PLLFBD ;// PLL frequency doubling
OSCTUN = 0X0000 ; // Oscillator adjustment register Default 7.37M
REFOCON = 0X0000 ; // Reference clock = The system clock
OSCCON = 0X0000 ;
_OSWEN = 1 ; // The request for switching is made by NOSC Specified clock
_NOSC = OsClk ; // Switch New oscillator
while(_OSWEN) ;// Wait for the clock switch to complete
if((_NOSC == OSCLK1) ||(_NOSC == OSCLK3))// belt PLL
{
while(!_LOCK) ;// wait for PLL lock
}
REFOCON |= 0X8000 ; // Reference clock output enable
}
// Application example -- Clock initialization
//FRC The system clock 1 Frequency division to CPU PLL frequency doubling 50
//Fin = 7.37M Fcpu = Fosc/2 = 46.0625M
Init_Clk(OSCLK1) ;Publisher : Full stack programmer stack length , Reprint please indicate the source :https://javaforall.cn/109983.html Link to the original text :https://javaforall.cn
边栏推荐
- About the use of Vray 5.2 (self research notes) (II)
- 使用GBase 8c数据库过程中报错:80000502,Cluster:%s is busy,是怎么回事?
- 埋点111
- Honing · fusion | know that the official website of Chuangyu mobile terminal is newly launched, and start the journey of digital security!
- A mining of edu certificate station
- Variables///
- Based on shengteng AI Aibi intelligence, we launched a digital solution for bank outlets to achieve full digital coverage of information from headquarters to outlets
- SQL Server monitoring statistics blocking script information
- PWA (Progressive Web App)
- 如何让全彩LED显示屏更加节能环保
猜你喜欢

不要再说微服务可以解决一切问题了!

Web3 Foundation grant program empowers developers to review four successful projects

How to make full-color LED display more energy-saving and environmental protection

Crawler (9) - scrape framework (1) | scrape asynchronous web crawler framework

Talk about the understanding of fault tolerance mechanism and state consistency in Flink framework

Codeforces Round #804 (Div. 2)

华为设备配置信道切换业务不中断

【Oracle】使用DataGrip连接Oracle数据库

32:第三章:开发通行证服务:15:浏览器存储介质,简介;(cookie,Session Storage,Local Storage)

关于 “原型” 的那些事你真的理解了吗?【上篇】
随机推荐
[JS learning notes 54] BFC mode
流程控制、
iframe
[advertising system] parameter server distributed training
[Oracle] use DataGrid to connect to Oracle Database
PWA (Progressive Web App)
Wechat nucleic acid detection appointment applet system graduation design completion (8) graduation design thesis template
关于vray 5.2的使用(自研笔记)
2022 mobile crane driver examination question bank and simulation examination
Wechat nucleic acid detection appointment applet system graduation design completion (7) Interim inspection report
Crawler (9) - scrape framework (1) | scrape asynchronous web crawler framework
使用GBase 8c数据库过程中报错:80000305,Host ips belong to different cluster ,怎么解决?
Ddrx addressing principle
Detailed explanation of DDR4 hardware schematic design
How can gbase 8C database view the login information of the login user, such as the date, time and IP of the last login authentication?
Variables///
Characteristics and electrical parameters of DDR4
Three paradigms of database
NAS and San
磨砺·聚变|知道创宇移动端官网焕新上线,开启数字安全之旅!