ddllxxrr 发表于 2020-12-13 09:42

【NUCLEO-L452RE测评】+加个FREERTOS定时器

<div class='showpostmsg'> 本帖最后由 ddllxxrr 于 2020-12-13 09:45 编辑

<p>干么?还得用老办法看手册,找到定时器运行频率,然后找到公式算定时时间吗?</p>

<p>回答当然是不。社会是进步的,搞单片机的也得与时俱进。否则被时代的列车抛出很远,然后坐绿皮车赶回来。</p>

<p>用STM32CUBEMX中的FREERTOS不用算的。只需指指点点就行。</p>

<p>&nbsp;</p>

<p>首先接着上篇的评测的界面来。点开FREERTOS,再接着点开,Config Parameters,把定时器使能:</p>

<p></p>

<p>然后在Timers and Semaphores中增加一个定时器名称:</p>

<p></p>

<p>然后生成代码,注意上次是选择的开发板,一些管脚是不用配置的都配置好了,我生成的是MDK5代码。</p>

<p>可见定时器定义代码已经写好,然后往代码里加一个定时时间。</p>

<p>&nbsp;</p>

<pre>
<code>/* Create the thread(s) */
/* definition and creation of defaultTask */
osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 128);
defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL);

/* USER CODE BEGIN RTOS_THREADS */
/* add threads, ... */
        /* USER CODE END RTOS_THREADS */
osTimerStart(myTimer01Handle,2000) ;
/* Start scheduler */
osKernelStart();</code></pre>

<p>然后在定时器回调函数里加个点灯代码:</p>

<pre>
<code>/* myTimeCallback01 function */
void myTimeCallback01(void const * argument)
{
/* USER CODE BEGIN myTimeCallback01 */
HAL_GPIO_TogglePin(LD4_GPIO_Port, LD4_Pin);
/* USER CODE END myTimeCallback01 */
}</code></pre>

<p>&nbsp;</p>

<p>编译下载,运行看到板子上的LD2,以2秒钟的间隔在闪烁。</p>

<p>&nbsp;</p>

<p>总结一哈:STMCUBEMX确实是居家生活,开发程序之良器。</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>

w494143467 发表于 2020-12-13 20:35

<p>STM32CUBEMX确实好用!啥都方便了许多</p>
页: [1]
查看完整版本: 【NUCLEO-L452RE测评】+加个FREERTOS定时器