学习了百问网的智能家居实战训练营之后,对单片机的时钟树又有了更深刻的了解。
在现代的计算机操作系统中必定有一个时钟,在stm32f103系列的单片机中,时钟源有内部时钟源和外部时钟源之分,外部时钟源采用8MHz的晶振。
时钟系统为硬件系统的各个模块提供时钟信号,就像人的脉搏心跳一样不可或缺,而stm32的结构较为复杂,不同的硬件可能对时钟信号有不同的要求,因此在系统中设置多个振荡器,分别提供时钟信号,实际中经常从一个主振荡器开始,经过多次的倍频、分频、锁相环等电路,生成每个模块的独立时钟信号。时钟树如下所示。

很多时钟输出是带使能控制的,例如AHB总线时钟、内核时钟、各种APB1外设、 APB2外设等等。当需要使用某模块时,记得一定要先使能对应的时钟。连接在APB1(低速外设)上的设备有:电源接口、备份接口、CAN、USB、I2C1、 I2C2、UART2、UART3、SPI2、窗口看门狗、Timer2、Timer3、Timer4。 连接在APB2(高速外设)上的设备有:UART1、SPI1、Timer1、ADC1、ADC2、所有 普通IO口(PA~PE)、第二功能IO口。APB2最高时钟为72MHz • 在一个系统刚刚启动时,应首先根据所用到的模块配置整个系统的时钟系统。
使用多个时钟源,分层控制可以带来两个好处:一个外设有多个时钟源:可以根据需要选择相应频率的时钟源。分层、分开控制外设时钟:使得各个外设的时钟都是可控的,各个外设有对应的时钟控制开关,实际应用过程根据需要开启相应外设时钟,不需要的外设时钟不开启,可以降低功耗。

百问网七天物联网课程学习笔记——单片机时钟相关推荐

  1. 百问网七天物联网课程学习笔记——单片机中断的使用

    学习了百问网的智能家居实战训练营之后,对单片机的中断又有了更深刻的了解. 中断,即CPU在正常执行程序的过程中,遇到外部/内部的紧急事件需要处理,暂时中断(中止)当前程序的执行,而转去为事件服务,待服 ...

  2. 百问网七天物联网课程学习笔记——单片机开发模式

    单片机有几种不同的开发模式,即:寄存器开发.C语言裸机开发以及使用实时操作系统进行. 1.使用寄存器开发单片机程序,分为使用汇编指令操作寄存器以及使用C语言操作寄存器两种.该方法有着无与伦比的效率提升 ...

  3. 百问网--七天物联网课程学习笔记(4)

    FreeRTOS源码下载(官方网址:www.freertos.org) 用户手册下载: 移植步骤 1.将"FreeRTOS-LTS\FreeRTOS\FreeRTOS-Kernel" ...

  4. 百问网七天物联网课程学习笔记——程序框架设计

    以前我一直觉得只有做纯软件的程序员才需要注意程序框架的设计,上了韦东山老师的课之后才觉得做单片机的程序开发注意框架设计也是很必要的事情.要在单片机开发的过程中引入面向对象的思想,这样的代码更容易扩展, ...

  5. 百问网--七天物联网课程学习笔记(7)

    问题1:在写WIFI模块测试程序的时候,发AT命令没反应 原因分析:使用串口输出信息,命令发送是没有问题的,命令接收也是没有问题的,使用上位机发送命令就有反应,单片机发送命令WIFI模块就是不理睬.然 ...

  6. 百问网七天物联网课程学习笔记——嵌入式

    首先谈谈什么是嵌入式,官方的定义是这样的:嵌入式系统是以应用为中心,以现代计算机技术为基础,能够根据用户需求(功能.可靠性.成本.体积.功耗.环境等)灵活裁剪软硬件模块的专用计算机系统.在我看来,嵌入 ...

  7. 百问网七天物联网课程课后笔记(第五天提高课)

    基础概念QOS0:最多发一次 QOS1:至少发一次 QOS2:只发一次 MQTT的客户端: 一个使用MQTT协议的应用程序或者设备,总是建立到服务器的网络连接 发布其他客户端可能会订阅的消息 订阅其他 ...

  8. 百问网七天物联网课程笔记(第七天)

    在第七天的课程中,分别使用单任务和多任务展示了基于stm32的mqtt通信控制led灯的操作.以下是之前我不会但是通过课程了解,觉得有比较记录的内容. 如何在keil5中,一个启动项对应多个项目? 右 ...

  9. 百问网七天物联网课程(第二天)

    前言 今天的课程基础主要讲了单片机最小系统的构成,内部flash的构成,如何下载st官方资料,如何构建一个项目. 提高部分讲解了程序的需求分析,程序流程图,裸机/RTOS的软件框架. 基础部分 基础部 ...

最新文章

  1. hadoop: Shuffle过程详解 (转载)
  2. 2017年 第08届 蓝桥杯 Java B组 决赛真题详解及小结
  3. JavaScript执行环境 + 变量对象 + 作用域链 + 闭包
  4. samba登陆密码不正确
  5. Linux日志服务器的搭建
  6. How GPUs Work
  7. 服务器--apache启用多个端口的方法
  8. linux服务器的又一管理利器webmin图解教程
  9. INSTALL_FAILED_UID_CHANGED解决办法
  10. php vc14的版本,VC6_VC9_VC11_VC14的介绍PHP各版本如何选择
  11. Django面试题库
  12. 3dmax linux版本,如何安装Linux版FLOW-3D及注意事项
  13. 魔兽各服务器位置,魔兽世界怀旧服矿点分布位置介绍 全地图采矿位置一览
  14. d3.js学习笔记-10(布局:树状图、集群图捆、捆图)
  15. Jira BigPicture结合KanBan跟踪项目执行实践分享
  16. EF Core 批量写入数据使用整理_EF Core批量插入数据(一)
  17. Synchonized原理
  18. 最新YGbook小说网自适应源码 自动采集笔趣阁 附详细图文安装教程
  19. H5 实现电子签名功能-VUE--12301合同签署类似功能
  20. flash按钮脚本祥解

热门文章

  1. AD定义板子外形方法(2)
  2. MATLAB----模糊神经网络
  3. 去除el-input四周白边
  4. winform访问被拒绝_c#串口提示端口访问被拒绝
  5. 人声抑制 深度学习_一种融合骨振动传感器和麦克风信号的深度学习语音提取和降噪方法与流程...
  6. javascript正则表达式-姜威-专题视频课程
  7. 机房监控系统的功能特点以及工作原理!
  8. 【C语言入门】SDUT《程序设计基础I 》实验2-选择结构程序设计题解 c语言语法讲解
  9. Xunsearch迅搜项目实战经验
  10. 那些年,我们一起游玩过的地方