当前位置: 首页 > news >正文

网站设计设计目的免费关键词搜索工具

网站设计设计目的,免费关键词搜索工具,做网站 发现对方传销,南京专业网站制作多少钱21.3-启动流程、编码风格(了解) 启动流程 第一种启动流程(我们就使用这个): 在main函数中将硬件初始化、RTOS系统初始化,同时创建所有任务,再启动RTOS调度器。 第二种启动流程: 在main函数中将硬件初始化、RTOS系统初始化,只…

21.3-启动流程、编码风格(了解)

启动流程

第一种启动流程(我们就使用这个):

在main函数中将硬件初始化、RTOS系统初始化,同时创建所有任务,再启动RTOS调度器。

第二种启动流程:

在main函数中将硬件初始化、RTOS系统初始化,只创建一个启动任务,再启动RTOS调度器。 之后,在启动任务中创建各种应用任务,当所有任务创建完成,启动任务把自己删除。

文件组成和编码风格(了解)

0、文件组成

FreeRTOS文件组成

核心文件

  • 包含核心内核功能的实现,是 FreeRTOS 的主要组成部分,通常包括:
    • tasks.c:实现任务管理的核心文件,包含任务创建、调度、删除等核心功能。
    • queue.c:实现消息队列,用于任务间的数据通信和同步。
    • list.c:实现内核中的链表操作,是任务调度和管理的重要数据结构。
    • timers.c:实现软件定时器的创建和管理。
    • event_groups.c:实现事件组,用于多任务间的事件控制和同步。
    • croutine.c:协程支持文件(不常用),用于非常小的内存占用需求下实现轻量级的任务。

配置文件

  • 包括用户根据项目需求调整的配置项:
    • FreeRTOSConfig.h:定义系统行为、资源限制等配置项。用户可以在这个文件中设置堆大小、任务优先级数量、时间片长度、钩子函数等。

硬件抽象层 (HAL) 和移植文件

  • 这些文件用来确保 FreeRTOS 能够在各种硬件架构上运行,主要包括:
    • portable/:不同硬件平台的移植文件夹,包含各架构的汇编实现、上下文切换、堆管理等文件。
    • port.cportmacro.h:不同架构的特定实现文件,比如 ARM Cortex M 系列、AVR、PIC 等不同芯片的实现。

CMSIS-RTOS 接口文件通常包括:
在这里插入图片描述
这些文件里的宏定义、数据类型、函数名称等前缀都是"os"。原理上来说,这些函数和数据类型的名称与具体的RTOS无关,他们是CMSIS-RTOS标准定义。具体实现,列如前缀"os"的函数调用具体移植的RTOS实现函数,例如,如果移植FreeRTOS,"os"里面的任务创建函数,调用的是FreeRTOS的具体任务创建函数,如果uc/OS-II,"os"函数就调用uc/OS-II的具体任务创建函数。

  1. cmsis_os.h
    • 这是 CMSIS-RTOS API 的头文件,定义了 CMSIS-RTOS 所需的所有函数接口。它包含了任务管理、定时器、信号量、互斥锁、消息队列等操作。通过这些标准接口,应用程序可以不依赖具体的 RTOS 实现。
  2. cmsis_os.c
    • 该文件实现了 CMSIS-RTOS API 中的函数接口,将这些接口与 FreeRTOS 的内核 API 关联起来。也就是说,通过在这个文件中调用 FreeRTOS 的 API,cmsis_os.c 能够使得应用程序使用 CMSIS-RTOS API 控制 FreeRTOS。
1、数据类型

FreeRTOS使用的数据类型虽然都是标准C的数据类型,但都进行了重定义,取了个新名字。
在这里插入图片描述char数据类型可以通过keil指定了有符号或者无符号,默认为无符号。
在这里插入图片描述

2、变量名!!!(值得学习)

在FreeRTOS中,定义变量时,把变量的类型作为前缀,方便用户通过变量即可知道变量的类型。

变量名=变量类型简写+变量的英文意思

比如

char cTemp;

unsigned char ucTemp

unsigned char* pucTemp

char变量的前缀c、short变量的前缀是s、long变量的前缀是l。

其它比如结构体、任务句柄等是x。

如果是无符号类型的,前缀再加u;

如果是指针变量,前缀再加p,比如"pc" 表示char * 类型

3、函数名

函数名包含了函数返回值的类型、函数所在的文件名以及函数的功能,如果是私有的函数,还会加prv前缀。 这种命名方式方便寻找函数定义并了解函数作用,值得借鉴。

举例:

xTaskCreate()函数的返回值为任务句柄,在Task.c中定义,作用是创建任务;

vTaskPrioritySet()函数的返回值为void,在Task.c中定义,作用是设置优先级;

CMSIS-RTOS相关文件中定义的函数前缀都是"os",不包括包括返回值类型和所在文件的前缀,例如cmsis_os2.h中的函数osDelay,等

4、宏定义

在FreeRTOS中,宏用大写字母表示,并配有小写字母作为前缀, 前缀用于指示该宏在哪个头文件定义。

举例:

portMAX_DELAY, 位于portable.h;

http://www.mmbaike.com/news/71552.html

相关文章:

  • 优秀网站分析案例教育培训班
  • 成都网站开发公司排名平台app如何推广
  • 就业网站建设百度图片收录提交入口
  • 茶陵网站建设宁波seo公司排名榜
  • 百度权重排名seo是什么技术
  • 在那个网站做服装批发小学四年级摘抄新闻
  • 做网站开发能挣钱推广普通话手抄报
  • 受欢迎的广州做网站公司网站建设需要多少钱
  • 网站的meta标签优化电商大数据查询平台免费
  • 响应式网站建设对企业营销深圳网络推广案例
  • 企慕网站建设网络推广中国域名网官网
  • 企业做网站带来的好处潍坊住房公积金
  • 常州手机网站效果seo搜索引擎优化视频
  • 在网站上做网络课堂软件多少钱南京网站制作
  • 合肥中小型企业网站建设方案模板百度信息流广告投放
  • 网站建设与网页制作教程成品短视频app源码的优点
  • 2345网址大全的网址网络优化公司排名
  • 武汉做网站的培训机构南宁seo团队哪家好
  • 杨浦区网站建设百度首页快速排名系统
  • 用js做的网站宁波最好的seo外包
  • 网站如何做电脑和手机软件怎么做一个网站平台
  • 美国做调研的网站广州新一期lpr
  • 关键词官网seo哪家公司好
  • 奉新网站制作中国十大企业管理培训机构
  • 可以做商城网站的公司吗seo优化师
  • 自己做的网站可以卖网站收录提交工具
  • 苏州建设工程公司网站百度关键词搜索排名帝搜软件
  • 网站改版需要注意如何优化关键词搜索排名
  • 海口网站排名推广百度收录查询api
  • 上线吧做的网站可以备案直播引流推广方法