【GD32E503评测】Part6:FreeRTOS和RTC屏幕显示
本帖最后由 w494143467 于 2021-2-28 10:46 编辑<p><strong>1.介绍</strong></p>
<p>距离上一次发帖时间过去挺久的了,这次趁着周末发一贴吧,上一次是FreeRTOS的环境搭建,这一次将Part5和Part4的代码进行合并,使用FreeRTOS实现屏幕刷新为后续的工程做准备。</p>
<p><strong>2.合并</strong></p>
<p>首先打开Part4的代码,可以去我上面的帖子获取代码,如图1。</p>
<p class="imagemiddle" style="text-align: center;"></p>
<p style="text-align: center;">图1</p>
<p>直接添加FreeRTOS,添加的配置如下图2,非常的简单。</p>
<p class="imagemiddle" style="text-align: center;"></p>
<p style="text-align: center;">图2</p>
<p>直接修改这个配置为0,如下图3。</p>
<p class="imagemiddle" style="text-align: center;"></p>
<p style="text-align: center;">图3</p>
<p>然后在中断中注释这三个函数,因为在FreeRTOS中有使用到,所以这边不需要了,如图4。</p>
<p class="imagemiddle" style="text-align: center;"></p>
<p style="text-align: center;">图4</p>
<p>在main文件中添加FreeRTOS的头文件,如图5,并修改一下代码如图6,这里需要注意的一点是,系统时钟的初始化要放在任务开始的前面,因为放在最开头会导致产生中断然后产生任务溢出错误,因为还没到任务初始化就进入任务中断了。</p>
<p class="imagemiddle" style="text-align: center;"></p>
<p style="text-align: center;">图5</p>
<p class="imagemiddle" style="text-align: center;"></p>
<p style="text-align: center;">图6</p>
<p>最终结果如下图7,还是可以的!</p>
<p class="imagemiddle" style="text-align: center;"></p>
<p style="text-align: center;">图7</p>
<p>还有一个地方需要优化如图8,需要采用信号量,这样可以节省CPU的使用率,这个优化等下个工程来做!</p>
<p class="imagemiddle" style="text-align: center;"></p>
<p style="text-align: center;">图8</p>
<p><strong>3.总结</strong></p>
<p>这次合并比之前还花的时间都多一些,主要在图6那个地方,错误一直有点懵逼,不过最终还是找到了问题所在,有了FreeRTOS就可以为后续工作做好基础了!</p>
<p>这次项目的工程:</p>
<p></p>
<p>测评写的挺认真</p>
<p>谢谢分享</p>
<p>感谢分享~~~</p>
<p>我在windows和linux上用freertos 。。。windows没有posix</p>
<p>后续项目可能要用,mark一下</p>
编译时出现以下问题 Error: no definition for "SecureContext_SaveContext" Error: no definition for "SecureContext_LoadContext" Error: no definition for "xSecureContext"
页:
[1]