STM32定时器溢出模式设置
来源:互联网 发布:帝国时代mac版 编辑:程序博客网 时间:2024/05/17 23:12
环境: 主机:WIN7
开发环境:MDK4.23 MCU:STM32F103CBT6
源代码1:
说明:定时器采用TIM2,时钟源为内部8M晶振,向上溢出模式.此定时器用在延时函数,最小可以延时1us,故没有采用中断形式定时. 初始化代码:
[cpp] view plaincopy
1. RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); 2. //重新将Timer设置为缺省值 3. TIM_DeInit(TIM2);
4. //采用内部时钟给TIM2提供时钟源 5. TIM_InternalClockConfig(TIM2); 6.
7. timInitStruct.TIM_ClockDivision = TIM_CKD_DIV2; //定时器
基准频率8MHz
8. timInitStruct.TIM_Prescaler = 8 - 1; //计数频
率为1us跳转1次
9. timInitStruct.TIM_CounterMode = TIM_CounterMode_Up; //向上计
数
10. timInitStruct.TIM_RepetitionCounter = 0;
require.async(['wkcommon:widget/ui/lib/sio/sio.js'], function(sio) { var url = 'https://cpro.baidustatic.com/cpro/ui/c.js'; sio.callByBrowser( url, function () { BAIDU_CLB_fillSlotAsync('u2845605','cpro_u2845605'); } ); });
11. timInitStruct.TIM_Period = 0; //这个值
实际上就是TIMX->ARR,延时开始时重新设定即可 12.
13. TIM_TimeBaseInit(TIM2, &timInitStruct);
14. TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE); //计数溢
出时触发中断
15. TIM_Cmd(TIM2, ENABLE); //开启计
数器
延时函数代码:
[cpp] view plaincopy
1. //延时1us 2. //最大65536us
3. void _delay_us(uint16_t t) 4. {
5. TIM_SetCounter(TIM2,0); 6. TIM_SetAutoreload(TIM2,t - 1); 7. //等待时间到
8. while (TIM_GetITStatus(TIM2,TIM_FLAG_Update) == 0); 9. //停止计数
10. TIM_SetAutoreload(TIM2,0); 11. //清中断标志
12. TIM_ClearITPendingBit(TIM2,TIM_FLAG_Update); 13. } 14.
15. //延迟1ms 16. //最大65ms
17. void _delay_ms(uint8_t t) 18. { 19.
20. if (t > 65) 21. {
22. t = 65; 23. }
24. _delay_us(t * 1000); 25. }
源代码2:
var cpro_psid ="u2572954"; var cpro_pswidth =966; var cpro_psheight =120;
说明:定时器采用TIM3,时钟源为内部8M晶振,向上溢出模式.此定时器用在长时间计时,最小计时间隔为100us,故采用中断形式定时. 初始化代码:
[cpp] view plaincopy
1. //中断NVIC设置:允许中断,设置优先级
2. NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
3. NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; //更新事
件
4. NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //抢占优
先级0
5. NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //响应优
先级1
6. NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //允许中
断
7. NVIC_Init(&NVIC_InitStructure); //写入设
置 8.
9. RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE); 10. //重新将Timer设置为缺省值 11. TIM_DeInit(TIM3);
12. //采用内部时钟给TIM3提供时钟源 13. TIM_InternalClockConfig(TIM3); 14.
15. timInitStruct.TIM_ClockDivision = TIM_CKD_DIV2; //定时器
基准频率8MHz
16. timInitStruct.TIM_Prescaler = 800 - 1; //计数频
率为100us跳转1次
17. timInitStruct.TIM_CounterMode = TIM_CounterMode_Up; //向上计
数
18. timInitStruct.TIM_RepetitionCounter = 0;
19. timInitStruct.TIM_Period = 0; //这个值
实际上就是TIMX->ARR,延时开始时重新设定即可 20.
21. TIM_TimeBaseInit(TIM3, &timInitStruct); 22. //清溢出中断标志
23. TIM_ClearFlag(TIM3, TIM_FLAG_Update); 24. //禁止ARR预装载缓冲器
下载文档到电脑,查找使用更方便
0下载券 109人已下载
下载
还剩1页未读,继续阅读
定制HR最喜欢的简历
我要定制简历
.zCxyTf {margin: 20px auto 30px;text-align: center;}.zCxyTf .Usyjzb {margin-bottom: 20px;}.zCxyTf .doALFQ {margin-right: 10px;font-size: 14px;color: #333;}.zCxyTf .gAWbYF {font-size: 13px;color: #666;}.zCxyTf .yIxTOl {display: inline-block;border: 1px solid #2fad85;border-radius: 2px;}.zCxyTf .yIxTOl a {display: block;padding: 12px 24px;font-size: 18px;color: #2fad86;background-color: #fff;}.zCxyTf .yIxTOl a:hover {color: #fff;background-color: #2fad85;text-decoration: none;}「天猫」stm32通用定时器,品牌精选!速速抢购!广告查看详情(function(win){win.ecom = win.ecom || {};win.ecom.pl2 = win.ecom.pl2 || {};win.ecom.pl2.imTimesign = parseInt("49" || 0, 10);win.ecom.pl2.searchId = "0348868b46c8205d";})(window);(function(a){function b(d){var c=location.href.match("debug=1");var g=window.jQuery||{};if(!c){try{d(a.pl2,g)}catch(f){}}else{d(a.pl2,g)}}a.pl2.run=function(d,c){if(c||arguments.length==1){bds.ready(function(){b(d)})}else{b(d)}};a.pl2.q=function(f,g){g=g||document;if(g.getElementsByClassName){return g.getElementsByClassName(f)}else{var d=[];var c=g.all||g.getElementsByTagName("*");var e=c.length;f=f.replace(/\-/g,"\\-");var h=new RegExp("(^|\\s)"+f+"(\\s|$)");while(--e>=0){if(h.test(c[e].className)){d.push(c[e])}}return d}}})(window.ecom);(function(v){var h=undefined,g=undefined;var l=0,k=0;var e=0;var o=0;var i=0;var d=0;var m=0;var b=0;var t=0;var r=/link\?url\=([^\&]+)/;var n=/\?url\=([^\.]+)\./;function s(){var y=t.href;var x=r.exec(y)||n.exec(y);return x?x[1]:false}function u(z){var x=s();if(x!==false){var y=q(x,z);p(y)}}function p(z){var x="&ck="+[z,e,b,l,k,h,g,m].join(".");if(t.href){var y=t.href;if(y.indexOf("&ck=")==-1){t.href+=x}else{t.href=y.replace(/&ck=[\d.]*/,x)}}}function q(A,C){var B=0;for(var z=0;z<(((e*C)%99)+9);z++){var y=A.length<20?A.length:20;B+=A.charCodeAt((b*z)%A.length)}return B}function w(x){x=x||window.event;e++;if(h===undefined){h=x.clientX}if(g===undefined){g=x.clientY}o=new Date().getTime()}function f(y,x){y=y||window.event;t=y.target||y.srcElement;while(t&&t.tagName!="A"){t=t.parentNode}i=new Date().getTime();b=9999;l=y.clientX;k=y.clientY;if(o===0){m=0}else{m=i-o}u(x)}function j(y,x){d=new Date().getTime();b=d-i;u(x)}function c(C,z,B){var A,x,y;for(y in z){A=z[y];x=B[y];if(window.attachEvent){C.attachEvent("on"+A,x)}else{C.addEventListener(A,x,false)}}}function a(x){return[function(y){w(y)},function(y){f(y,x)},function(y){j(y,x)}]}v.ck=function(B,A){if(B.length===undefined){B=[B]}var x=B.length;var y=0;var z=a(A);for(;y<x;y++){c(B[y],["mouseover","mousedown","mouseup"],z)}}})(window.ecom.pl2);window.ecom.pl2.run(function(c){var e=c.q("qZEPbs");for(var b=0;b<e.length;b++){var a=e[b];var d=a.getElementsByTagName("A");c.ck(d,window.ecom.pl2.imTimesign)}},false);
/* pc阅读页3-4页间(新) */
var cpro_id = "u2845472";
阅读全文
0 0
- STM32定时器溢出模式设置
- STM32定时器溢出模式设置
- STM32定时器溢出模式计时设置
- STM32定时器溢出模式计时设置 .
- stm32定时器的基本设置
- STM32通用定时器库函数设置
- STM32定时器的编码器模式
- STM32定时器输出比较模式
- STM32-PWM模式设置
- STM32定时器---正交编码器模式详解
- STM32定时器输出比较模式中的疑惑
- stm32定时器pwm模式输入捕获
- STM32的定时器--输入捕捉模式
- STM32定时器---正交编码器模式详解
- STM32定时器---正交编码器模式详解
- STM32定时器---正交编码器模式详解
- 小熊STM32学习总结:STM32的定时器--输入捕捉模式
- STM32 Boot模式设置方法
- 安装ahci驱动sata
- 关于STM32外接12MHz晶振的处理办法
- VLC对Live555 RTSP视频直播稳定性问题
- 系统的时钟可以有3个来源
- 76. Minimum Window Substring
- STM32定时器溢出模式设置
- HDU2537 8球胜负【水题】
- STM32-通用定时器基本定时功能
- stm32通用定时器
- stm32 adc 采样率
- STM32学习笔记之ADC
- 64的windows环境下使用tensorflow
- 牛人对STM32的NVIC_PriorityGroupConfig使用及优先级分组方式理解
- 分布式系统