[MCU] 【GD32E503评测】Part6:FreeRTOS和RTC屏幕显示

w494143467   2021-2-28 10:45 楼主

1.介绍

距离上一次发帖时间过去挺久的了,这次趁着周末发一贴吧,上一次是FreeRTOS的环境搭建,这一次将Part5和Part4的代码进行合并,使用FreeRTOS实现屏幕刷新为后续的工程做准备。

2.合并

首先打开Part4的代码,可以去我上面的帖子获取代码,如图1。

1.png

图1

直接添加FreeRTOS,添加的配置如下图2,非常的简单。

2.png

图2

直接修改这个配置为0,如下图3。

3.png

图3

然后在中断中注释这三个函数,因为在FreeRTOS中有使用到,所以这边不需要了,如图4。

4.png

图4

在main文件中添加FreeRTOS的头文件,如图5,并修改一下代码如图6,这里需要注意的一点是,系统时钟的初始化要放在任务开始的前面,因为放在最开头会导致产生中断然后产生任务溢出错误,因为还没到任务初始化就进入任务中断了。

5.png

图5

6.png

图6

最终结果如下图7,还是可以的!

7.png

图7

还有一个地方需要优化如图8,需要采用信号量,这样可以节省CPU的使用率,这个优化等下个工程来做!

8.png

图8

3.总结

这次合并比之前还花的时间都多一些,主要在图6那个地方,错误一直有点懵逼,不过最终还是找到了问题所在,有了FreeRTOS就可以为后续工作做好基础了!

这次项目的工程:

MyDemoPart6.zip (514.16 KB)
(下载次数: 7, 2021-2-28 10:46 上传)

本帖最后由 w494143467 于 2021-2-28 10:46 编辑

回复评论 (6)

测评写的挺认真

谢谢分享

点赞  2021-2-28 15:34

感谢分享~~~

没有什么不可以,我就是我,不一样的烟火! 
点赞  2021-2-28 17:43

我在windows和linux上用freertos 。。。windows没有posix

默认摸鱼,再摸鱼。2022、9、28
点赞  2021-3-1 22:03

后续项目可能要用,mark一下

点赞  2021-3-4 15:10
编译时出现以下问题
点赞  2024-4-1 23:13
Error[Li005]: no definition for "SecureContext_SaveContext" [referenced from D:\Xf\PartTest\freeRTOS_Test\GD32E50x_Demo_Suites_V1.4.0\GD32E507R_START_Demo_Suites\Projects\ 01_GPIO_Running_LED\EWARM\GD32E50x\Obj\portasm.o] Error[Li005]: no definition for "SecureContext_LoadContext" [referenced from D:\Xf\PartTest\freeRTOS_Test\GD32E50x_Demo_Suites_V1.4.0\GD32E507R_START_Demo_Suites\Projects\ 01_GPIO_Running_LED\EWARM\GD32E50x\Obj\portasm.o] Error[Li005]: no definition for "xSecureContext" [referenced from D:\Xf\PartTest\freeRTOS_Test\GD32E50x_Demo_Suites_V1.4.0\GD32E507R_START_Demo_Suites\Projects\ 01_GPIO_Running_LED\EWARM\GD32E50x\Obj\portasm.o]
点赞  2024-4-1 23:13
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复