FreeRTOS數據類型和代碼風格
數據類型
TickType_t
TickType_t作爲tick count的數據類型,他可以是unsigned 16/32的值(通過configUSE_16_BIT_TICKS宏定義配置),在8/16位單片機上,16bit的類型能很大程度上提高性能,但是在32位處理器上,一般不建議使用16位。
BaseType_t
BaseType_t一般用於boolean返回值(pdTRUE/pdFALSE),16位處理器對應16位,32位處理器對應32位的值。
注意
由於不同編譯器對未指明的char的編譯可能是unsigned也可能是signed,所以在FreeRTOS都會顯式聲明字符的類型爲signed/unsigned,ASCII字符或者指針除外。
直接用int類型的情況不存在,都會指明是有無符號數。
命名
變量
命名 | 符號 |
---|---|
c | char |
s | int16_t(short) |
l | int32_t(long) |
x | BaseType_t and any other non-standard types (structures, task handles, queue handles, etc. |
對於無符號數,前綴加u; 對於指針,前綴加p。
For example, a variable of type uint8_t will be prefixed with ‘uc’, and a variable of type pointer to char will be prefixed with ‘pc’.
函數
函數名前綴是他的返回值類型
例如:
如果不是全局函數,函數作用域僅在本文件中,即private function, 那麼前綴加prv
宏定義
大多數宏定義是前綴小寫名稱大寫的,前綴代表宏定義的定義位置。