下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-.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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 你信不?性格可决定运气
- 新型数据基础设施发展研究报告-推动全闪存数据中心建设助力数字经济高质量发展
- 吉首大学《国际商务谈判》2021-2022学年第一学期期末试卷
- 吉林艺术学院《字体设计》2021-2022学年第一学期期末试卷
- 吉林艺术学院《文化政策法规》2021-2022学年第一学期期末试卷
- 吉林艺术学院《乐理Ⅱ》2021-2022学年第一学期期末试卷
- 2024年供应商付款优惠协议书模板
- 小型汽车租用协议书范文范本
- 吉林师范大学《音频处理与视频剪辑》2021-2022学年第一学期期末试卷
- 河道洗砂承包协议书范文模板
- 关于统一规范人民防空标识使用管理的通知(1)
- 电缆振荡波局部放电试验报告
- 西门子RWD68说明书
- 针对建筑工程施工数字化管理分析
- 多品种共线生产质量风险评价
- 【MBA教学案例】从“虾国”到“国虾”:国联水产的战略转型
- Unit-1--College-Life
- 医院车辆加油卡管理制度
- 平面四杆机构急回特性说课课件
- 安徽职业技术学院实验实训室建设管理办法(试行)
- 岗位价值评估表(共4页)
评论
0/150
提交评论