下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-.z.STM32延时函数分析Corte*-M3内核处理器有个systick24位倒计时定时器,当计数到0时,重新装载初值.delay_init(u8SYSCLK)//定时初始化函数分析{Systick->;CTRL&=0*fffffffb;//bit2清空,选择外部时钟HCLK/8fac_us=SYSCLK/8;fac_ms=(u16)fac_us*1000;}摘自STM32手册6.2.6系统时钟(SYSCLK)选择系统复位后,HSI振荡器被选为系统时钟。当时钟源被直接或通过PLL间接作为系统时钟时,它将不能被停顿。只有当目标时钟源准备就绪了(经过启动稳定阶段的延迟或PLL稳定),从一个时钟源到另一个时钟源的切换才会发生。在被选择时钟源没有就绪时,系统时钟的切换不会发生。直至目标时钟源就绪,才发生切换。在时钟控制存放器(RCC_CR)里的状态位指示哪个时钟已经准备好了,哪个时钟目前被用作系统时钟。Systick时钟那里来?Systick时钟由系统时钟8分频后决定.解析delay_us(u32nus)函数voiddelay_us(u32nus){u32temp;Systick->;LOAD=nus*fac_us;//装入定时值Systick->;VAL=0*00;//清空计数器值Systick->;CTRL=0*01;//开启倒计时定时器do{temp=Systick->;CTRL;//定时器状态赋给变量}while((temp&0*01)&&(temp&(1;CTRL=0*00;//关闭定时Systick->;VAL=0*00;//清空计数值}定时1us分析:由于Systick时钟设置为是系统时钟的8分频,假设SYSCLK=72M则Systick=9MHZ因为fac_us是基数无单位fac_us=SYSCLK/8;即72/8=9则Systick->;LOAD=nus*fac_us,假设定时1us则Systick->;LOAD=9.因为Systick是9M的速度倒计时所以9个计数时间为9*(1/9M)就是1us必须保证nus;#include"sys.h"#include"delay.h"#include"usart.h"#defineLED0PBout(0)#defineLED1PBout(1)voidled_init(void){RCC->;APB2ENR|=1;CRL&=0*ffffff00;GPIOB->;CRL|=0*00000033;//推挽输出GPIOB->;ODR|=0*ffff;}intmain(void){Stm32_Clock_Init(9);delay_init(72);led_init();while(1){LED0=0;delay_us(500);LED0=1;delay_us(500);}}delay_ms(u16nms)函数分析:voiddelay_ms(u16nms){u32temp;SysTick->;LOAD=(u32)nms*fac_ms;//时间加载(SysTick->;LOAD为24bit)SysTick->;VAL=0*00;//清空计数器SysTick->;CTRL=0*01;//开场倒数do{temp=SysTick->;CTRL;}while(temp&0*01&&!(temp&(1;CTRL=0*00;//关闭计数器SysTick->;VAL=0*00;//清空计数器}由于fac_ms基数为9000所以假设nms=1则倒计时时间9000/9M=0.001s=1ms就是延时1ms所以最大定时时间T=2^24/9000=1864ms延时实例:while(1){LED0=0;delay_ms(500);LED0=1;delay_ms(500);}改变最大延时方法:降低PLL倍频,计算得到系统新频率.intmain(void){Stm32_Clock_Init(4);delay_init(32);led_init();while(1){LED0=0;delay_ms(3000);LED0=1;delay_ms(3000);}}此时最大延时由于SYSCLK=32M所以Systick=4M既fac_ms=4000Tma*=2^24/4000=4194ms如果设置超过4194发生溢出,定时就不准了例子:intmain(void){Stm32_Clock_Init(4);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学地理(气候学原理)试题及答案
- 2025年中职饲草栽培与加工(饲草品质提升技术)试题及答案
- 2025四川雅安石棉县佳业劳务派遣有限公司招聘石棉县应急救援指挥中心辅助人员1人备考题库及答案详解(考点梳理)
- 2026四川遂宁市船山区中医医院招聘备考题库及答案详解1套
- 《中国传统能源地区低碳转型》专题政策研究报告
- 云南省部分学校2025-2026学年七年级上学期第一次月考历史试题(含答案)
- 2024届河南省濮阳市范县高三下学期模拟测试(二)历史试题(含答案)
- 2026浙江丽水学院招聘(引进)高层次人才71人备考题库(2026年第1号)及答案详解参考
- 2025云南昆明市盘龙区人民政府滇源街道办事处公益性岗位招聘5人备考题库含答案详解
- 2026“梦工场”招商银行银川分行寒假实习生招聘备考题库及答案详解(夺冠系列)
- 产品供货方案、售后服务方案
- 十八而志梦想以行+活动设计 高三下学期成人礼主题班会
- 2023年上海华东理工大学机械与动力工程学院教师岗位招聘笔试试题及答案
- TOC供应链物流管理精益化培训教材PPT课件讲义
- 医院18类常用急救药品规格清单
- 放弃公开遴选公务员面试资格声明
- 2023-2024学年江苏省海门市小学语文五年级期末点睛提升提分卷
- GB/T 1685-2008硫化橡胶或热塑性橡胶在常温和高温下压缩应力松弛的测定
- 北京城市旅游故宫红色中国风PPT模板
- DB42T1319-2021绿色建筑设计与工程验收标准
- 经济学原理 第一章课件
评论
0/150
提交评论