原创 *內存分配
內存分配 #define configTOTAL_HEAP_SIZE ((size_t)(201024)) ucHeap[configTOTAL_HEAP_SIZE] xPortGetFreeHeapSize()//內存堆
原创 任務通知
任務通知 configUSE_TASK_NOTIFICATIONS=1//開啓 ulNotifiedValue 任務通知只有一個任務 接收任務會進入阻塞,發送任務不會因發送失敗而進入阻塞 發送任務通知 xTaskNotify()/
原创 freertos任務
任務task control block,tcb分配給每個任務** typedef struct tskTaskControlBlock { volatile StackType_t *pxTopOfStack//任務堆棧的棧頂
原创 freertos列表
typedef struct xLIST { listFIRST_LIST_INTEGRITY_CHECK_VALUE//檢查 UBaseType_t uxNumberOfItems;//item數量 ListItem_t * c
原创 freertos任務調度
開啓任務調度* idle任務和timer任務 關閉中斷//在svc,打開中斷 下一個任務的解除阻塞時間xNextTaskUnblockTime 調度標誌 xTickCount//tick計數 調用xPortStartSchedul
原创 struct內嵌union
typedef struct { __IO uint16_t MS : 2; uint16_t RESERVED2 : 2;
原创 mdk編譯連接
formelf --text -v/-v scatter_loading分散加載 Stack_Size EQU 0x00000400 //1024bytes Heap_Size EQU 0x
原创 linux命令
crontab -l //列出crontab crontab -e //簡介crontab dmesg//顯示來自kernel buffer的系統信息,從最後的系統開啓 free//顯示內存信息 -b:字節 -m:mege -t:
原创 marlin--運動參數
運動的相關參數 #define BLOCK_BUFFER_SIZE 16 static block_t block_buffer[BLOCK_BUFFER_SIZE];
原创 freertos任務函數
爲了避免延遲中斷函數處理的發生,只有在檢測到沒有irq處理函數被執行,os纔會任務切換。 如果中斷源的頻率與systic中斷接近時,會造成很長的延時對於任務切換 pendsv通過延遲上下文切換請求,知道所有的中斷完成,爲了達到此目
原创 c語言宏
#define _CAT(a, ...) a ## __VA_ARGS__ #define SWITCH_ENABLED_ 1 #define twig #define ENABLED(b) _CAT(SWITCH_ENABL
原创 marlin-lcd屏
U8G_CLASS u8g(U8G_PARAM); //根據u8g的構造函數初始化 #define U8G_CLASS U8GLIB_ST7920_128X64_RRD #define U8G_PARAM LCD_PINS_D4,
原创 marlin--gcode解析
#define MAX_CMD_SIZE 96 #define BUFSIZE 4 gcode存在此處,存4條gcode char command_queue[BUFSIZE][MAX_CMD_SIZE];
原创 linux命令(三)
dpkg -i dpkg -l //列出所有的包 dpkg -L//列出指定包安裝的文件 apt-get update:同步源 upgrade:安裝最新的包 remove:移除包 apt list --upgradeable a
原创 12864屏幕&&st7920
DDRAM(display data ram) CGRAM(character generation RAM) CGROM(字庫)