【翌创ET6001】-03-定时器测试
<div class='showpostmsg'><p>官网的定时器有点让人捉摸不透,只运行一次,自己找了好久原因,还程序不运行,然后自己找了一下原因,然后吧自己的过程写下来,</p><p>首先我们看一下定时器的时钟树。</p>
<p>使用64位的定时器的话我们直接按照官网的PTIM2来进行操作。</p>
<div style="text-align: center;"></div>
<div style="text-align: center;">然后时钟的频率可以在参考手册里面看到。</div>
<div style="text-align: center;"> </div>
<div style="text-align: center;"></div>
<div> </div>
<div>可以看到时钟频率是100M,我们这里的话就可以进行编程了。</div>
<div> </div>
<pre>
<code class="language-cpp">
void PTIMER_peripheral_init(void)
{
PTIM_InitTypeDef init;
PTIM_StructInit(&init);
init.prescaler = (100-1);//--200 分频 算下来是1M的时钟
init.period = 999;//--1000分频,算下来就是1ms的中断--
init.workMode = PTIM_WORK_FREERUN;
init.loadMode = PTIM_LOAD_IMMEDIATELY;
init.cpuHaltEn=ENABLE;
PTIM_Init(PIT2, &init);
NVIC_EnableIRQ(PIT64_0_IRQn);
PTIM_Enable(PIT2);
PTIM_ITEnable(PIT2);
}
unsigned int Tcount=0;
void PIT64_0_IRQHandler(void)
{
if (PTIM_GetITStatus(PIT2) == SET)
{
PTIM_ClearITStatus(PIT2);
Tcount++;
if(Tcount==500)
{
Tcount=0;
LED_Togio();
}
}
}
</code></pre>
<div style="text-align: center;">
<p>定时器的代码如山谷所示,我们通过对IO的翻转进行测量,使用逻辑分析仪。</p>
</div>
<div style="text-align: center;"> </div>
<div style="text-align: center;"> </div>
<div style="text-align: center;"> </div>
<div style="text-align: center;">
<div style="text-align: center;"></div>
<div style="text-align: center;">我们使用逻辑分析仪就可以看到,目前我们的IO翻转的时间是比较精确的,这样的话我们就可以做更多的事情了。</div>
<p> </p>
</div>
<div style="text-align: center;"> </div>
<p>好了今天定时器的就先分享到这里。</p>
</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p>确实IO翻转的时间是比较精确的,期待楼主后面精彩测试哈</p>
页:
[1]