經過測試,內存申請和及時釋放可以安全使用內存。
但是內存釋放的時候,不會讓所輸入的指針變0,這個需要注意。
xPortGetFreeHeapSize 獲取剩余堆大小
pvPortMalloc 申請內存
vPortFree 釋放內存
舉例:
u8 *pin =(u8*)pvPortMalloc(1024*2);
if(pin)
{
printf("new2 ram= %08x GetFree:%d\n",pin,xPortGetFreeHeapSize());
vPortFree(pin);
}
編程的時候,可以將臨時任務中的臨時大內存均使用任務開始開啟,任務結束結束的方式臨時調用,效率更高,安全的關鍵點,就主要在內存管理上面了。
