问一个小问题 关于fac_us=SystemCoreClock/8000000; 怎么是1US呢 72MHZ的八分频是9MHZ即SysTick即为9MHZ  那再除8M也不能是1us啊 ?下面的函数不是说明 fac_us ==1us吗?

void delay_us(u32 nus)

{

u32 temp;

SysTick->LOAD=nus*fac_us; //时间加载

SysTick->VAL=0x00;        //清空计数器

SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk ;          //开始倒数

do

{

temp=SysTick->CTRL;

}

while(temp&0x01&&!(temp&(1<<16)));//等待时间到达

SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;       //关闭计数器

SysTick->VAL =0X00;       //清空计数器

}


答:1us的意思是1us systick需要计的数。systick的时钟是SystemCoreClock的1/8。那么1us systick需要计的数不就是(SystemCoreClock/8)/10000000=SystemCoreClock/80000000了

SYSCLK即SystemCoreClock
HCLK即SYSCLK分频得来(在此未分频),即HCLK==SystemCoreClock
SysTick时钟是HCLK8分频,即SysTick时钟频率==HCLK/8==SystemCoreClock/8,
因此,SysTick一个计数时长(1/(SystemCoreClock/8)),
1us需要计数次数为10^-6÷[1/(SystemCoreClock/8)]=SystemCoreClock/8000000

SysTick时钟是sysclk 8分频,即SysTick时钟频率=sysclk/8, systick 计1次数所需时间为8/sysclk(s)=8*10^6/sysclk(us),由此,
SysTick  1微秒计数个数为fac_us=sysclk/8*10^6.
举个例子:当sysclk=8M时,systick 计1次数所需时间为1us,由此,fac_us=1,寄存器加载个数SysTick->LOAD=nus*1;
当sysclk=72M时,systick 计1次数所需时间为1/9us,由此,fac_us=9,寄存器加载个数SysTick->LOAD=nus*9;

链接:原子论坛

为什么 fac_us=SystemCoreClock/8000000?相关推荐

  1. STM32-SysTick定时器

    1 SysTick定时器简介 什么是SysTick?                 SysTick定时器也叫SysTick滴答定时器,它是Cortex-M3内核的一个外设,被嵌入在NVIC 中,用于 ...

  2. stm32F10x 看程序知识点记录

    1.RCC_APB2Periph_AFIO :需要用到外设的重映射功能时才需要使能AFIO的时钟即引脚复用时. 2.RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO ...

  3. 【stm32】delay详解

    1 首先看函数: 1.1 当使用ucos时才有以下部分: 主要实现宏定义与基本函数定义. #if SYSTEM_SUPPORT_OS //如果SYSTEM_SUPPORT_OS定义了,说明要支持OS了 ...

  4. 【单片机】STM32 最小板 学习笔记

    目录&索引 前言 第一章 前期工作准备 软件获取 STM32 资料 相关下载 硬件准备 第二章 单片机系统介绍 第三章 库函数工程模板建立 第一步,下载固件库,文件分类 第二步,打开 mdk5 ...

  5. c语言float气压,STM32+MS5611测气压温度例程详解,测试无误

    DELAY #include "delay.h" static u8 fac_us=0;//us延时倍乘数 static u16 fac_ms=0;//ms延时倍乘数,在ucos下 ...

  6. 嵌入式 LED 万年历

    嵌入式作业 20130080476 孙飞 软件工程 1班 2016-1-7 目录 一作业介绍:... 1 1.1主控单元和按键部分设计... 3 1.2部分引脚设计... 3 二项目实现:... 4 ...

  7. STM32F0系列创建基础工程模板+按键点灯

    前几天实验室搬家的时候在垃圾堆里翻出了一块黑色的小板子 我一看,咦!有LED.有按键.有复位开关.还有晶振,虽然平常玩的都是四四方方的F1系列的芯片,这种长方形的芯片还是第一次见过,上面的英文也不是很 ...

  8. Stm32-SysTick详解

    写在最前 ​ 本文是个人学习Stm32时所做笔记,没有写过C51,但学校学过 微机原理 ,但没学好,实验套件是正点原子Stm32zet6精英板,参考资料为正点原子所提供,本文所涉及代码均使用固件库.本 ...

  9. 基于I2C硬件协议的AHT20温湿度传感器的数据采集

    基于I2C的温湿度采集 硬件I2C和软件I2C 温湿度采集 任务要求 硬件连接 添加代码 最终效果 硬件I2C和软件I2C 硬件I2C对应芯片上的baiI2C外设,有相应I2C驱动电路,其所使用的I2 ...

  10. 基于I2C硬件协议的AH20温湿度传感器的数据采集

    目录 I2C 温湿度传感器数据采集 实验准备 实验步骤: 实验结果: I2C I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实 ...

最新文章

  1. ADPRL - 近似动态规划和强化学习 - Note 2 - Stochastic Finite Horizon Problem
  2. python参数传递方法_深入理解python中函数传递参数是值传递还是引用传递
  3. 三大框架整合教程(Spring+SpringMVC+MyBatis)
  4. UVa11107 - Life Forms(后缀数组)
  5. 终于!《iOS 全埋点解决方案》正式出版
  6. SQLserver2008高级查询语句应用实例
  7. list-style-type:decimal在IE中显示全是1的解析
  8. 前端经常遇到的跨域问题几种解决方案
  9. 大数据之-Hadoop环境搭建_hadoop目录结构---大数据之hadoop工作笔记0019
  10. iOS开发之Runloop(转)
  11. windows server 2008 添加磁盘
  12. wifinative.java_Android 中的WiFi剖析
  13. 怎样正确的使用Cookie的Path详细解析
  14. rpo流程图模板_Visio Pro 2019下载-Microsoft Visio Pro(流程图制作软件)下载2019x64 简体中文版-西西软件下载...
  15. UE4基础知识总结(一)
  16. 十分钟用Django创建一个简单的职位管理系统
  17. 杨澜解读职业女性社区天女网:与电视资源打通
  18. 景深决定照相机什么特性_什么是景深?
  19. Postman INTERCEPTOR DISCONNECTED
  20. bbs.ncar forum.php,无删减又好看的美剧资源网站

热门文章

  1. linux查看外网IP
  2. 《MLB棒球创造营》:走近棒球运动·洛杉矶道奇队
  3. lbj学习日记 08 输入一组不定个数的数字,并且把它保存在一个数组中
  4. 动态更换 Shape 的颜色
  5. Hibernate技术书写
  6. 【多媒体】媒体的概念和分类
  7. 记一次“香山杯”得WP
  8. 【2019年05月10日】指数估值排名
  9. 关于国内LTE宽带集群通信知识现状介绍
  10. 前端道路上,买书的那些事儿