私は RTOS と C プログラミングの完全な初心者であり、C の優れたプラクティスにはまだ慣れていません。そこで、FreeRTOS を使用するプロジェクトを開いたところ、OS ファイルがハンガリー語表記を使用していることに気付きました。私は表記法を少し知っていますが、FreeRTOS.h
ファイル内のいくつかの新しい「標準」に直面しました。
#ifndef configASSERT
#define configASSERT( x )
#define configASSERT_DEFINED 0
#else
#define configASSERT_DEFINED 1
#endif
そしてその下には、
#ifndef INCLUDE_xTaskGetSchedulerState
#define INCLUDE_xTaskGetSchedulerState 0
#endif
#ifndef INCLUDE_xTaskGetCurrentTaskHandle
#define INCLUDE_xTaskGetCurrentTaskHandle 0
#endif
私はこのxを見てきました- x TaskGetCurrentTaskHandleのように- どこでも。また、問題のヘッダーの行のように、 v、pd 、およびそのような変数名:728
#if configENABLE_BACKWARD_COMPATIBILITY == 1
#define eTaskStateGet eTaskGetState
#define portTickType TickType_t
#define xTaskHandle TaskHandle_t
#define xQueueHandle QueueHandle_t
#define xSemaphoreHandle SemaphoreHandle_t
#define xQueueSetHandle QueueSetHandle_t
#define xQueueSetMemberHandle QueueSetMemberHandle_t
#define xTimeOutType TimeOut_t
#define xMemoryRegion MemoryRegion_t
#define xTaskParameters TaskParameters_t
#define xTaskStatusType TaskStatus_t
#define xTimerHandle TimerHandle_t
#define xCoRoutineHandle CoRoutineHandle_t
#define pdTASK_HOOK_CODE TaskHookFunction_t
#define portTICK_RATE_MS portTICK_PERIOD_MS
/* Backward compatibility within the scheduler code only - these definitions
are not really required but are included for completeness. */
#define tmrTIMER_CALLBACK TimerCallbackFunction_t
#define pdTASK_CODE TaskFunction_t
#define xListItem ListItem_t
#define xList List_t
これらの「イニシャル」が何を表しているのかをどこでも検索しましたが、それでもわかりませんでした。
ですから、誰かがこれを理解するのを手伝ってくれたり、道や何かを教えてくれたりしたら、本当に感謝しています.