




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-.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年育婴师考试的试题及答案
- 期货从业资格考试期货投资分析真题汇编4
- 食品用包材供应商现场审核方案(检查表)
- 2024年第九届全国大学生人力资源管理综合能力竞赛选拔赛考试题库(含答案)
- 医疗设备(耗材)配送整体计划方案投标方案
- 小学生中医药文化知识科普传承中医文化弘扬国粹精神课件
- 消防维保公司劳动合同
- 2024年4月贵州省自考00995商法(二)试题及答案含评分参考
- 以竹代塑的挑战与对策
- 2024年美国商用车和乘用车市场现状及上下游分析报告
- 幼儿园语言故事《阿里巴巴和四十大盗》课件
- 浙教版八年级信息技术上册《第8课网页的数据呈现》课件
评论
0/150
提交评论