จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

nl::Weave::DeviceLayer::ภายใน:GeneralThreadStackManagerImpl_FreeRTOS

#include <src/adaptations/device-layer/include/Weave/DeviceLayer/FreeRTOS/GenericThreadStackManagerImpl_FreeRTOS.h>

จัดเตรียมการใช้งานฟีเจอร์ ThreadStackManager ทั่วไปในแพลตฟอร์ม FreeRTOS

สรุป

เทมเพลตนี้มีการใช้ฟีเจอร์บางอย่างจากอินเทอร์เฟซนามธรรม ThreadStackManager ที่เหมาะสําหรับการใช้งานบนแพลตฟอร์มที่ใช้ FreeRTOS คลาสนี้มีการรับค่าโดยตรงหรือโดยอ้อมจากคลาส ThreadStackManagerImpl ที่ปรากฏเป็นพารามิเตอร์ ImplClass ของเทมเพลต

แอตทริบิวต์ที่มีการป้องกัน

mThreadStackLock
SemaphoreHandle_t
mThreadTask
TaskHandle_t

ฟังก์ชันที่ได้รับการปกป้อง

DoInit()
SignalThreadActivityPending()
void
SignalThreadActivityPendingFromISR()
BaseType_t
_LockThreadStack(void)
void
_StartThreadTask(void)
_TryLockThreadStack(void)
bool
_UnlockThreadStack(void)
void

แอตทริบิวต์ที่มีการป้องกัน

mThreadStackLock

SemaphoreHandle_t mThreadStackLock

mThreadTask

TaskHandle_t mThreadTask

ฟังก์ชันที่ได้รับการปกป้อง

สิ่งที่ต้องทํา

WEAVE_ERROR DoInit()

กิจกรรม SignalThread ที่รอดําเนินการ

void SignalThreadActivityPending()

กิจกรรม SignalThread ที่รอดําเนินการจาก IRS

BaseType_t SignalThreadActivityPendingFromISR()

_LockThreadStack

void _LockThreadStack(
  void
)

_เริ่มชุดข้อความ

WEAVE_ERROR _StartThreadTask(
  void
)

_TryLockThreadStack

bool _TryLockThreadStack(
  void
)

_ปลดล็อกชุดข้อความ

void _UnlockThreadStack(
  void
)