RTX5 | 内存池02 - 剩下几个API
生活随笔
收集整理的這篇文章主要介紹了
RTX5 | 内存池02 - 剩下几个API
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、前言
- 二、實驗目的
- 三、API
- 3.1、osMemoryPoolGetCapacity
- 3.2、osMemoryPoolGetBlockSize
- 3.3、osMemoryPoolGetCount
- 3.4、osMemoryPoolGetSpace
- 3.5、osMemoryPoolDelete
- 四、代碼
- 4.1、main.h
- 4.2、main.c
- 五、Event Recorder調試
- 5.1、Debug(printf) Viewer
一、前言
內存池剩下幾個重要的API做一下實驗,看看使用的效果。
STM32工程:
鏈接:https://pan.baidu.com/s/1K304cQ0cb_XgeB7K1N1jlw
提取碼:4f50
二、實驗目的
打印以下函數的返回值:
- osMemoryPoolGetCapacity
- osMemoryPoolGetBlockSize
- osMemoryPoolGetCount
- osMemoryPoolGetSpace
最后,在系統運行約10S后,刪除內存池。
三、API
3.1、osMemoryPoolGetCapacity
/* 使用案例1 */ uint32_t get_Capacity; get_Capacity = osMemoryPoolGetCapacity(mpID_MemPool); /* 獲取內存池一共有多少個內存塊 */ printf("Get capacity is %d.\r\n",get_Capacity); /* 打印信息 */3.2、osMemoryPoolGetBlockSize
/* 使用案例1 */ uint32_t get_Block_Size; get_Block_Size = osMemoryPoolGetBlockSize(mpID_MemPool); /* 獲取內存池的每一個內存塊的大小(單位byte) */ printf("Get block size is %d.\r\n",get_Block_Size); /* 打印信息 */3.3、osMemoryPoolGetCount
/* 使用案例1 */ uint32_t get_Count; get_Count = osMemoryPoolGetCount(mpID_MemPool); /* 獲取內存池里已經被使用的內存塊的數量 */ printf("Get count is %d.\r\n",get_Count); /* 打印信息 */3.4、osMemoryPoolGetSpace
/* 使用案例1 */ uint32_t get_Space; get_Space = osMemoryPoolGetSpace(mpID_MemPool); /* 獲取內存池剩下有多少個內存塊可以使用 */ printf("Get space is %d.\r\n",get_Space); /* 打印信息 */3.5、osMemoryPoolDelete
/* 使用案例1 */ status = osMemoryPoolDelete(mpID_MemPool); /* 刪除內存池 */ if(status == osOK)printf("Memory pool has been deleted.\r\n"); /* 打印信息 */四、代碼
4.1、main.h
4.2、main.c
五、Event Recorder調試
5.1、Debug(printf) Viewer
總結
以上是生活随笔為你收集整理的RTX5 | 内存池02 - 剩下几个API的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CAN总线技术 | 物理层02 - CA
- 下一篇: frame中src怎么设置成一个变量_在