文章目录

  • 一、时钟树
  • 二、操作函数:void SysCtlClockSet(uint32_t ui32Config);
    • 1、函数参数
    • 2、配置实例
  • 三、注意事项

一、时钟树

二、操作函数:void SysCtlClockSet(uint32_t ui32Config);

该函数即是设置整个单片机的工作频率。

1、函数参数

所有参数见sysctl.h文件,这里仅拿出部分参数:

//*****************************************************************************
//
// The following are values that can be passed to the SysCtlClockSet() API as
// the ui32Config parameter.
//
//*****************************************************************************
#define SYSCTL_SYSDIV_1         0x07800000  // 时钟分频值是振荡器或锁相环 /1
#define SYSCTL_SYSDIV_2         0x00C00000  // 处理器时钟是振荡器或锁相环 /2
#define SYSCTL_CFG_VCO_320      0xF0000000  // 压控振荡器频率是320 MHz
#define SYSCTL_USE_PLL          0x00000000  // 系统时钟是锁相环(PLL)时钟
#define SYSCTL_USE_OSC          0x00003800  // 系统时钟是内部低频振荡器(OSC)时钟
#define SYSCTL_XTAL_1MHZ        0x00000000  // 外部晶振是1MHz
#define SYSCTL_XTAL_16MHZ       0x00000540  // 外部晶振是16MHz
#define SYSCTL_OSC_MAIN         0x00000000  // 时钟源是主振荡器
#define SYSCTL_OSC_INT          0x00000010  // 时钟源是内部振荡器
#define SYSCTL_OSC_INT4         0x00000020  // 时钟源是内部振荡器/4
#define SYSCTL_OSC_INT30        0x00000030  // 时钟源是内部30KHz时钟
#define SYSCTL_OSC_EXT32        0x80000038  // 时钟源是外部32KHz时钟
#define SYSCTL_INT_OSC_DIS      0x00000002  // 禁能内部振荡器
#define SYSCTL_MAIN_OSC_DIS     0x00000001  // 禁能主振荡器

2、配置实例

SysCtlClockSet(SYSCTL_SYSDIV_5 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |  SYSCTL_XTAL_16MHZ);

SYSCTL_SYSDIV_5 表示分频值,为5分频。
SYSCTL_USE_PLL 表示系统时钟使用锁相环达到400Mhz(PLL介绍)。
SYSCTL_XTAL_16MHZ 表示外部晶振是16MHz。
SYSCTL_OSC_MAIN 表示时钟使用主振荡器。

综合起来:时钟频率等于400/2/5 = 40MHz

在时钟树的表示即:

三、注意事项

我们在使用TM4这款单片机的时候需要注意如果用了锁相环,则分频系数至少为2.5,因为400/2/2.5=80,而TM4的最高时钟频率是80MHz,超频运行容易导致系统不稳定。

4、TM4的系统时钟频率相关推荐

  1. 假设系统时钟频率采用6MHz c语言,定时器例题.ppt

    定时器例题 练习;(3)10次计数的实现对于中断10次计数,可使T0工作在计数方式,也可用循环程序的方法实现.本例采用循环程序法.;2. 假设系统时钟为6MHz,编写定时器T0产生1秒定时的 程序.用 ...

  2. STM32运行过程中降低系统时钟频率

    目录 1. 概述 2. 直接修改外部时钟 2.1 生成时钟函数 2.1.1 设置系统时钟为16M: 2.1.2 配置时钟72M: 2.2 测试降频 3. 借助内部时钟 3.1 生成时钟函数 3.2 测 ...

  3. 8、TM4单片机的滴答定时器,及利用定时器精确延时

    在我们日常使用单片机的时候,延时一般采用循环的方式,但是这样的方式只能用于粗略的延时,但我们需要精准的时间控制的时候,便需要利用定时器获得精确的延时. 本次采用TM4内的滴答定时器. 文章目录 1.滴 ...

  4. linux 内核 时间片,能讲一下在Linux系统中时间片是怎么分配的还有优先级的具体算法是...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 图 1 RT-Linux结构 RT -Linux的关键技术是通过软件来模拟硬件的中断控制器.当Linux系统要封锁CPU的中断时时,RT-Linux中的实 ...

  5. Linux内核系统时钟管理 感想总结 (未完待续)

    目前讨论根据的是2.6.x 版本的内核 Linux 内核系统时钟需要了解的泛化的概念 绝对时间: 所谓的绝对时间指的是系统流逝的时间,从你启动系统的那一时刻开始计算,直到你关闭系统的那一刻作为结束,这 ...

  6. 嵌入式成长轨迹54 【Zigbee项目】【CC2430基础实验】【系统睡眠工作状态】

    本实验在小灯闪烁10 次以后进入低功耗模式 PM3 .CC2430 一共有4 种功耗模式,分别是PM0,PM1,PM2,PM3,以 PM3 功耗最低. SLEEP (0xBE) - Sleep mod ...

  7. 嵌入式Linux裸机开发(六)——S5PV210时钟系统

    嵌入式Linux裸机开发(六)--S5PV210时钟系统 一.时钟系统简介 外设工作需要一定频率的时钟,这些时钟都由系统时钟提供.系统时钟一般由外部低频24MHZ晶体振荡器通过锁相环电路PLL倍频产生 ...

  8. 嵌入式基础篇 - 第2章 Systick系统定时器

    2.1 STM32 的时钟系统 STM32 芯片为了实现低功耗,设计了一个功能完善但却非常复杂的时钟系统.普通的MCU 一般只要配置好 GPIO 的寄存器就可以使用了,但 STM32 还有一个步骤,就 ...

  9. linux 线程优先级算法,能讲一下在Linux系统中时间片是怎么分配的还有优先级的具体算法是...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 图 1 RT-Linux结构 RT -Linux的关键技术是通过软件来模拟硬件的中断控制器.当Linux系统要封锁CPU的中断时时,RT-Linux中的实 ...

最新文章

  1. windows下apache配置虚拟主机的两个方法
  2. BOM 浏览器对象模型和DOM 文档对象模型
  3. linux 错误 too many open files 解决方案
  4. 一个好玩的 屏蔽别人审查元素F12 右键及其他复制粘贴等
  5. lombok @data 忽略属性_使用lombok编写优雅的Bean对象
  6. 了解Java中的可克隆接口
  7. 微软面试题:有100万个数字(1到9),其中只有1个数字重复2次,如何快速找出该数字
  8. 开挂的人生: 本科生发Nature和 Science
  9. idea2020.01的git下的Local Changes消失的问题
  10. Java基础-IO流(13)
  11. 运行matlab生成多张图片后如何瞬间将图片全部关闭
  12. 在windows生产环境搭建sphinx的注意事项
  13. php实现标签打印,标签打印软件怎么实现批量套打标签?
  14. 谷歌闹别扭期间女生创办“谷姐”网(cnblogs)
  15. 新浪-InSAR博客网址Blog of Jerome Cheung
  16. 【Redis】《Redis 开发与运维》笔记-汇总
  17. 互联网信息服务安全评估报告
  18. 亚马逊运营经常忽略的买家秀,主图开箱视频的重要性
  19. 如何设置对输入字段的关注?
  20. Python头部信息的设置

热门文章

  1. WireShark 安装及简单使用
  2. 如何在短视频源码基础上快速打造一款高清又极速的短视频APP开发制作?
  3. 凝思Linux系统 文件互传 sftp方式 或使用 飞鸽传书
  4. Android架构详细讲解与C/C++开发支持原理
  5. 使用管道完成父子进程间通信
  6. 【全国大学英语四、六级考试(CET)成绩单补办】
  7. idea控制台乱码、读取cookie乱码
  8. windows无法连接到打印机 错误代码为0x00000533,解决办法
  9. win10 php安装seaslog扩展
  10. Linux系统用什么翻译软件,Linux安装翻译软件StarDict的步骤(自己的操作总结)