STM32F407配置PLLI2SCLK实现特定50MHz时钟驱动83848
STM32F407配置PLLI2SCLK实现特定50MHz时钟驱动83848
- MCO2时钟输出时钟树介绍
- PLLI2S配置函数
- MCO2输出设置
在使用83848以太网芯片时需要输出一路50MHz的时钟同时供给STM32以太网外设EHERNET和83848,但是一般STM32F407配置的系统主频是168MHz,无论怎么分频或者使用高级定时器仍旧无法准确输出50MHz的时钟,本文就是使用STM32F407的另外一路专用PLL实现特定时钟分频输出。
MCO2时钟输出时钟树介绍
STM32F407可实现MCO1和MCO2为外部提供时钟。时钟配置路线如上图所示:外部时钟->PLL_M分频(一般到这里为1MHz)->PLLI2S_N(倍频 可设置150)->MCO2_Devided(设置为1)
PLLI2S配置函数
GPIO_InitTypeDef GPIO_InitStructure;RCC_PLLI2SConfig(150, 3); //配置PLLI2SCLK时钟为150/3=50MHzRCC_PLLI2SCmd(ENABLE); //开启PLLI2SCLK时钟
如若需要其它分频时钟可直接更改RCC_PLLI2SConfig(150, 3);
中的系数 150是倍频系数,3是分频系数
MCO2输出设置
// 开启定时器相关的GPIO 外设时钟*/RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOC,ENABLE);GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;GPIO_Init(GPIOC, &GPIO_InitStructure);GPIO_PinAFConfig(GPIOC,GPIO_Pin_9,GPIO_AF_MCO);//复用模式RCC_MCO2Config(RCC_MCO2Source_PLLI2SCLK, RCC_MCO2Div_1);//1分频
初始化引脚复用输出模式,配置MCO2时钟源为RCC_MCO2Source_PLLI2SCLK
,分频系数为1即可输出50MHz时钟
STM32F407配置PLLI2SCLK实现特定50MHz时钟驱动83848相关推荐
- STM32F407配置pca9685驱动
STM32F407配置pca9685驱动 pca9685是16路12位PWM信号发生器,可用于控制舵机.led.电机等设备,i2c通信,节省主机资源.在淘宝上随处可见,Arduino用它非常方便,不过 ...
- 火牛单片机rtc时钟配置_RTC 实时时钟驱动 - Linux内核之我的天下 - CSDN博客
RTC实时时钟驱动 -------I2C软件模拟通信 内核版本: linux-2.4.21 文档设计:侯辉华 版本: 1.01 时间: 2007/06/10 内容简介:介绍接在I2C总线上RTC实时时 ...
- Exynos4412的Linux5.4.174时钟驱动开发(四)——clk API的调用方法
系列文章目录 Exynos4412的Linux时钟驱动开发(一)--Exynos4412的时钟管理单元CMU Exynos4412的Linux时钟驱动开发(二)--时钟驱动的初始化(CLK_OF_DE ...
- linux CLK时钟驱动
前述:本篇linux时钟驱动以UART6串口为例. 一.时钟设备寄存器配置 1. UART6有两种时钟源选择APLL\UPLL(可通过技术手册查看),如图 clk[uart6_aplldiv] = n ...
- 【原创】ARM LINUX 外部RTC实时时钟驱动移植(RX8025)
[原创]ARM LINUX 外部RTC实时时钟驱动移植(RX8025) Author: chad Mail: linczone@163.com 开发板:AT91SAM9260 内核版本:linux-2 ...
- Exynos4412的Linux时钟驱动开发(一)——Exynos4412的时钟管理单元CMU
系列文章目录 Exynos4412的Linux时钟驱动开发(一)--Exynos4412的时钟管理单元CMU Exynos4412的Linux时钟驱动开发(二)--时钟驱动的初始化(CLK_OF_DE ...
- (106)FPGA面试题-Verilog编写50MHz时钟激励
1.1 FPGA面试题-Verilog编写50MHz时钟激励 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-Verilog编写50MHz时钟激励: 5) ...
- Arduino与Proteus仿真实例-DS1307实时时钟驱动仿真
DS1307实时时钟驱动仿真 DS1307 串行实时时钟 (RTC) 是一种低功耗.全二进制编码十进制 (BCD) 时钟/日历加上 56 字节的 NV SRAM. 地址和数据通过 I2C 双向总线串行 ...
- 外设驱动库开发笔记29:DS17887实时时钟驱动
一些时候,在我们的嵌入式产品中需要记录时间,所以我们就需要获取时钟,当然实现的方式多种多样,有的MCU本身就有这一功能,不过精度较低.当我们的应用要求较高时就需要使用专门的实时时钟芯片,如DS1788 ...
最新文章
- 这个中秋,来点不一样~
- ASP.NET图片上传(配合jquery.from.js 插件)
- C++/C--删除string末尾字符的方法【转载】
- drools 7.x执行指定的drl文件
- python批量复制粘贴_用python批量复制特定图片
- log4j容器初始化探究
- ubuntu 定时执行重启(crontab)
- android开发笔记之多媒体—播放音频(音乐)
- oppo android root工具箱,oppo R11(全网通 安卓8.1)手机完美获取root教程,最强root工具,亲测可用!...
- 原来使用 Pandas 绘制图表也这么惊艳!
- CMD看累了?推荐一个不错的终端模拟器
- 古墓丽影 起源 铁甲人通关技巧
- unity3D期末作业-太空飞机射击游戏
- iOS开发 适配iOS10
- layui操作完成后刷新页面
- 样本的方差的均值等于总体的方差
- AIDA64如何设置小屏监控 AIDA64监控CPU功耗
- java中parseint函数_浅谈 js中parseInt函数的解析
- 经纬度坐标转换高斯-克吕格平面坐标
- Unity程序化地形教程集合