为什么 fac_us=SystemCoreClock/8000000?
问一个小问题 关于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?相关推荐
- STM32-SysTick定时器
1 SysTick定时器简介 什么是SysTick? SysTick定时器也叫SysTick滴答定时器,它是Cortex-M3内核的一个外设,被嵌入在NVIC 中,用于 ...
- stm32F10x 看程序知识点记录
1.RCC_APB2Periph_AFIO :需要用到外设的重映射功能时才需要使能AFIO的时钟即引脚复用时. 2.RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO ...
- 【stm32】delay详解
1 首先看函数: 1.1 当使用ucos时才有以下部分: 主要实现宏定义与基本函数定义. #if SYSTEM_SUPPORT_OS //如果SYSTEM_SUPPORT_OS定义了,说明要支持OS了 ...
- 【单片机】STM32 最小板 学习笔记
目录&索引 前言 第一章 前期工作准备 软件获取 STM32 资料 相关下载 硬件准备 第二章 单片机系统介绍 第三章 库函数工程模板建立 第一步,下载固件库,文件分类 第二步,打开 mdk5 ...
- c语言float气压,STM32+MS5611测气压温度例程详解,测试无误
DELAY #include "delay.h" static u8 fac_us=0;//us延时倍乘数 static u16 fac_ms=0;//ms延时倍乘数,在ucos下 ...
- 嵌入式 LED 万年历
嵌入式作业 20130080476 孙飞 软件工程 1班 2016-1-7 目录 一作业介绍:... 1 1.1主控单元和按键部分设计... 3 1.2部分引脚设计... 3 二项目实现:... 4 ...
- STM32F0系列创建基础工程模板+按键点灯
前几天实验室搬家的时候在垃圾堆里翻出了一块黑色的小板子 我一看,咦!有LED.有按键.有复位开关.还有晶振,虽然平常玩的都是四四方方的F1系列的芯片,这种长方形的芯片还是第一次见过,上面的英文也不是很 ...
- Stm32-SysTick详解
写在最前 本文是个人学习Stm32时所做笔记,没有写过C51,但学校学过 微机原理 ,但没学好,实验套件是正点原子Stm32zet6精英板,参考资料为正点原子所提供,本文所涉及代码均使用固件库.本 ...
- 基于I2C硬件协议的AHT20温湿度传感器的数据采集
基于I2C的温湿度采集 硬件I2C和软件I2C 温湿度采集 任务要求 硬件连接 添加代码 最终效果 硬件I2C和软件I2C 硬件I2C对应芯片上的baiI2C外设,有相应I2C驱动电路,其所使用的I2 ...
- 基于I2C硬件协议的AH20温湿度传感器的数据采集
目录 I2C 温湿度传感器数据采集 实验准备 实验步骤: 实验结果: I2C I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实 ...
最新文章
- ADPRL - 近似动态规划和强化学习 - Note 2 - Stochastic Finite Horizon Problem
- python参数传递方法_深入理解python中函数传递参数是值传递还是引用传递
- 三大框架整合教程(Spring+SpringMVC+MyBatis)
- UVa11107 - Life Forms(后缀数组)
- 终于!《iOS 全埋点解决方案》正式出版
- SQLserver2008高级查询语句应用实例
- list-style-type:decimal在IE中显示全是1的解析
- 前端经常遇到的跨域问题几种解决方案
- 大数据之-Hadoop环境搭建_hadoop目录结构---大数据之hadoop工作笔记0019
- iOS开发之Runloop(转)
- windows server 2008 添加磁盘
- wifinative.java_Android 中的WiFi剖析
- 怎样正确的使用Cookie的Path详细解析
- rpo流程图模板_Visio Pro 2019下载-Microsoft Visio Pro(流程图制作软件)下载2019x64 简体中文版-西西软件下载...
- UE4基础知识总结(一)
- 十分钟用Django创建一个简单的职位管理系统
- 杨澜解读职业女性社区天女网:与电视资源打通
- 景深决定照相机什么特性_什么是景深?
- Postman INTERCEPTOR DISCONNECTED
- bbs.ncar forum.php,无删减又好看的美剧资源网站