FreeRTOS---- 数据类型和编程风格
2017-08-16 22:18
295 查看
1、数据类型
每一个Port有一个独特的头文件'portmacro.h', 它包含两个特殊的数据类型:TickType_t and BaseType_t。TickType_t
它可以是16-bit或者32-bit两种类型,由FreeRTOSConfig.h中的configUSE_16_BIT_TICKS决定,定义为1表示为uint16_t,定义为0表示为uint32_t。在8-bit和16-bit处理上使用uint16_t;在32-bit上使用uint32_t。BaseType_t
与处理器相关,8-bit处理器使用uint8_t;16-bit处理器使用uint16_t;32-bit处理器使用uint32_t。2、变量名
变量前缀:char:‘c';int16_t(short):‘s’;int32_t(long):‘l’;BaseType_t和其它非标准的:‘x’;无符号型再在其前面加上‘u’;如果是指针,再加上‘p’。
例如:uint8_t类型前缀为‘uc’;字串指针类型前缀为:‘pc’。
3、函数名
函数前缀由返回值类型和文件决定。例如:vTaskPrioritySet()返回void,定义上task.c中。
pvTimerGetTimerID()返回一个指向void的指针,定义在timers.c中。
xQueueReceive()返回一个BaseType_t类型,定义在queue.c中。
4、宏定义
大多数宏定义都是大写,前缀小定。例如:prefix | Location of macro definition |
port(for example, portMAX_DELAY) | portable.h or portmacro.h |
task(for example, taskENTER_CRITICAL()) | task.h |
pd(for example, pdTRUE) | projdefs.h |
config(for example, configUSE_PREEMPTION) | FreeRTOSConfig.h |
err(for example, errQUEUE_FULL) | projdefs.h |
Macro | Value |
pdTRUE | 1 |
pdFALSE | 0 |
pdPASS | 1 |
pdFAIL | 0 |
5、合理的类型转换
由于FreeRTOS可以被多个不同的编译器纺译,不同编译器产生的警告和时间都有所不同,为保证编译的正确性,往往需要更多的类型转换。相关文章推荐
- 全面理解Java中的String数据类型-Java基础-Java-编程开发
- 64位与32位编程的数据类型区别(C/C++)
- VC编程中的数据类型转换16位数据(WORD)合成32位数据(DWORD),VARIANT 、_variant_t 与 COleVariant,BSTR、_bstr_t与CComB
- 泛函编程(25)-泛函数据类型-Monad-Applicative
- 64位与32位编程的数据类型区别
- Oracle中的pl/sql编程的数据类型
- VB速查大全(数据库、表格及报表编程) ★ VB错误处理,ado常见错误,VB数据类型等,网上有很多教程是错的,强烈建议看此文
- ActiveDAQ控件的VC编程 数据采集 VARIANT数据类型的使用
- [编程] C语言变量和数据类型总结练习题
- [Windows编程] Windows最常见的数据类型列表
- 谈谈大数据编程的风格与思想
- 64位与32位编程的数据类型区别
- C#编程命名规则(二、控件和数据类型命名)
- 关于“类型,参数,变量”的声明中,其编程风格
- 64位编程开发-数据类型
- 1 Unix/Linux平台上编程的 基本系统数据类型
- ASP.NET AJAX客户端编程之旅(三)——让JavaScript和C#无障碍沟通:数据类型自动转换&序列化(转载)
- 【嵌入式Linux C编程】2018.3.8 数据类型、运算操作符、基本语句
- Oracle(PL/SQL编程基础(PL/SQL程序块与PL/SQL语句)、异常、游标、数据类型)