- 博客(4)
- 收藏
- 关注
原创 FreeRTOS学习:三.任务调度器
FreeRTOS学习之路三:任务调度器前面两节讲了任务栈、任务内容、任务列表的联系,当我们创建好多个任务并把它添加到任务列表时,系统是如何来进行任务间的切换与调度。就靠freertos系统里面的调度器进行这项工作。先看看freertos一般创建任务开始调度的代码流程。流程就是创建任务,任何启动调度器。xTaskCreateStatic是一个静态内存任务创建函数,在前面已经说过,来看看这个函数的参数。1.任务入口:也就是函数名,函数名也就代表任务起始地址。2.任务名称:一段字符串。3.任务栈大小
2021-10-27 21:45:52 337
原创 FreeRTOS学习:二.任务定义
FreeRTOS学习之路二:任务定义任务主体在FReeRTOS中,一般来说任务就是一个不能返回的函数。void task1(void *parg){ /*无限循环,不能返回*/ while(1) { /*任务主体,也就是你想做的事*/ }}这就是一个任务,有了任务,就得有一个任务栈,而任务栈又是什么呢任务栈回想一下学c语言和单片机的时候,代码主体里面有一些全局变量、中断服务子函数程序等等,这些资源我们该放在哪里呢,这些资源我们就是放在任务栈里,任务栈实质上就是一块存储区域,这里
2021-10-25 10:30:25 229
原创 FreeRTOS学习:一任务列表
FreeRTOS学习之路一:任务列表在FreeRTOS中任务列表是极其重要的,搞明白了任务列表中的各个节点代表的含义,对后续学习FreeRTOS有很大的帮助。双向列表在FreeRTOS中的任务列表实际上就是通过一个双向列表来操作,看下图。下面来慢慢看链表中的根节点以后任务节点都包含什么信息。任务节点:struct xLIST_ITEM{ listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE /*暂时不用管这个宏,用来进行完整性判断*/ configLIS
2021-10-22 17:55:29 430
原创 LeetCode第五题最长回文子串
@LeetCode第五题最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。输入: “cbbd”输出: “bb”解题思路:我们可以用动态规划算法来解答此题,定义一个dp二维数组dp[i][j],dp[i][j]表示从j开始到i结束的子串是否文回文子串,如果是,我们可以把dp[i][j]的值置为1,这样不难发现状态转移方程为dp[i][j] = ( dp[i][j]
2020-08-26 20:23:01 1405
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人