FreeRTOS ----プログラミングスタイル

データの種類

基本的な標準は、Cデータ型の内部で使用されているが、異なるプロセッサのため、データ型は、標準Cの再定義されています。

以下のように、このドキュメントで再定義portmacro.h FreeRTOSでのデータ型の詳細:

/* Type definitions. */
#define portCHAR        char
#define portFLOAT       float
#define portDOUBLE      double
#define portLONG        long
#define portSHORT       short
#define portSTACK_TYPE  uint32_t
#define portBASE_TYPE   long

typedef portSTACK_TYPE StackType_t;
typedef long BaseType_t;
typedef unsigned long UBaseType_t;

#if( configUSE_16_BIT_TICKS == 1 )
    typedef uint16_t TickType_t;
    #define portMAX_DELAY ( TickType_t ) 0xffff
#else
    typedef uint32_t TickType_t;
    #define portMAX_DELAY ( TickType_t ) 0xffffffffUL

    /* 32-bit tick type on a 32-bit architecture, so reads of the tick count do
    not need to be guarded with a critical section. */
    #define portTICK_TYPE_IS_ATOMIC 1
#endif

使用されないint型のFreeRTOSで、短い及び長いタイプ(コアにおけるMCUのCortex-M、短い16ビット、32ビット長)。

ユーザーが明示的にcharデータ型を指定しなかった場合、プログラミングでは、コンパイラは、符号付きまたは符号なしているので、FreeRTOSで明示的に文字を指定する必要があり、符号なしまたは署名指定されたchar型の変数をデフォルト設定されます; Keil社のデフォルトのcharは符号なしです。

変数名

変数の型を定義し、それは以下のような変数に追加接頭辞として変数を置く傾向があります:

  • char型の変数は、接頭辞Cです。
  • 短いプレフィックス変数はSです。
  • ロング変数の接頭辞はLです。
  • キューハンドルカスタム型の変数の接頭辞はxなどのような他のデータ構造、タスクハンドル、。
  • unsigned型の接頭辞は、変数u(unsigned charのプレフィックスUCを追加するために可変時間を定義する)です。
  • 接頭辞は、ポインタ変数p(pcは接頭辞がcharポインタ変数を定義して追加する)です。

関数名

関数名が含まれている関数の戻り値の型を、ファイルの名前どこ機能、ファンクション機能、それがPRVの接頭辞を追加するプライベート関数がある場合

例えば:vTaskPrioritySet()関数、ボイドリターンタイプ、ファイルに定義されtask.c。

マクロ

接頭辞大文字と小文字で表される、接頭辞は、マクロは、ヘッダファイルに定義されていることを示すために使用されます

信号がマクロ定義の量の関数であるが、その機能の命名法は、マクロ定義ではなく命名機能を追跡する方法であることに留意すべきです。

おすすめ

転載: www.cnblogs.com/jasontian996/p/11943529.html