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相关推荐

  1. STM32F407配置pca9685驱动

    STM32F407配置pca9685驱动 pca9685是16路12位PWM信号发生器,可用于控制舵机.led.电机等设备,i2c通信,节省主机资源.在淘宝上随处可见,Arduino用它非常方便,不过 ...

  2. 火牛单片机rtc时钟配置_RTC 实时时钟驱动 - Linux内核之我的天下 - CSDN博客

    RTC实时时钟驱动 -------I2C软件模拟通信 内核版本: linux-2.4.21 文档设计:侯辉华 版本: 1.01 时间: 2007/06/10 内容简介:介绍接在I2C总线上RTC实时时 ...

  3. Exynos4412的Linux5.4.174时钟驱动开发(四)——clk API的调用方法

    系列文章目录 Exynos4412的Linux时钟驱动开发(一)--Exynos4412的时钟管理单元CMU Exynos4412的Linux时钟驱动开发(二)--时钟驱动的初始化(CLK_OF_DE ...

  4. linux CLK时钟驱动

    前述:本篇linux时钟驱动以UART6串口为例. 一.时钟设备寄存器配置 1. UART6有两种时钟源选择APLL\UPLL(可通过技术手册查看),如图 clk[uart6_aplldiv] = n ...

  5. 【原创】ARM LINUX 外部RTC实时时钟驱动移植(RX8025)

    [原创]ARM LINUX 外部RTC实时时钟驱动移植(RX8025) Author: chad Mail: linczone@163.com 开发板:AT91SAM9260 内核版本:linux-2 ...

  6. Exynos4412的Linux时钟驱动开发(一)——Exynos4412的时钟管理单元CMU

    系列文章目录 Exynos4412的Linux时钟驱动开发(一)--Exynos4412的时钟管理单元CMU Exynos4412的Linux时钟驱动开发(二)--时钟驱动的初始化(CLK_OF_DE ...

  7. (106)FPGA面试题-Verilog编写50MHz时钟激励

    1.1 FPGA面试题-Verilog编写50MHz时钟激励 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA面试题-Verilog编写50MHz时钟激励: 5) ...

  8. Arduino与Proteus仿真实例-DS1307实时时钟驱动仿真

    DS1307实时时钟驱动仿真 DS1307 串行实时时钟 (RTC) 是一种低功耗.全二进制编码十进制 (BCD) 时钟/日历加上 56 字节的 NV SRAM. 地址和数据通过 I2C 双向总线串行 ...

  9. 外设驱动库开发笔记29:DS17887实时时钟驱动

    一些时候,在我们的嵌入式产品中需要记录时间,所以我们就需要获取时钟,当然实现的方式多种多样,有的MCU本身就有这一功能,不过精度较低.当我们的应用要求较高时就需要使用专门的实时时钟芯片,如DS1788 ...

最新文章

  1. 这个中秋,来点不一样~
  2. ASP.NET图片上传(配合jquery.from.js 插件)
  3. C++/C--删除string末尾字符的方法【转载】
  4. drools 7.x执行指定的drl文件
  5. python批量复制粘贴_用python批量复制特定图片
  6. log4j容器初始化探究
  7. ubuntu 定时执行重启(crontab)
  8. android开发笔记之多媒体—播放音频(音乐)
  9. oppo android root工具箱,oppo R11(全网通 安卓8.1)手机完美获取root教程,最强root工具,亲测可用!...
  10. 原来使用 Pandas 绘制图表也这么惊艳!
  11. CMD看累了?推荐一个不错的终端模拟器
  12. 古墓丽影 起源 铁甲人通关技巧
  13. unity3D期末作业-太空飞机射击游戏
  14. iOS开发 适配iOS10
  15. layui操作完成后刷新页面
  16. 样本的方差的均值等于总体的方差
  17. AIDA64如何设置小屏监控 AIDA64监控CPU功耗
  18. java中parseint函数_浅谈 js中parseInt函数的解析
  19. 经纬度坐标转换高斯-克吕格平面坐标
  20. Unity程序化地形教程集合

热门文章

  1. 论文中图一.1修改为图1.1
  2. 香港大学韩锴课题组招收CV和深度学习方向全奖博士/博后
  3. java定时任务:oracle导出excel后,发送excel作为附件的邮件
  4. 【数据治理】数据治理之主数据管理
  5. 特征重要性判断(一)----决策树
  6. 值得收藏,这6种制作竞赛动图的方法妙不可言
  7. 一辆适合长途出行的电动跑车 奥迪RS e-tron GT正式上市
  8. 物联网卡充值续费仍无法使用,关键原因在这里!
  9. c 中服务器多次接受消息,c/s模拟高并发服务器端线程池接收问题
  10. R mean() 函数 - 计算平均值