dbg_tiny.dsw
来自「SL811 usb host 读写U盘或移动硬盘的数据。含文件系统。fat32格」· DSW 代码 · 共 43 行
DSW
43 行
func void tasks () {
uchar i;
uint adr;
printf ("+----------+-------+---------+------------------+--------+-------+-------+\n");
printf ("| Task ID | Start | State | Wait for Event | Signal | Timer | Stack |\n");
printf ("+----------+-------+---------+------------------+--------+-------+-------+");
for (i = 0; i <= uchar(C:?RTX_TASKIDX); i++) {
printf ("\n| %2d | ", i);
adr = &?RTX_TASKENTRY + i*2;
printf ("%04XH | ", uint (c:adr));
adr = &?RTX_TASKSTATUS + i*2;
if (RTX_CURRENTTASK == i &&
(uchar (i:adr+1) & 0x10)) printf ("RUNNING | ");
else if (uchar (i:adr+1) & 0x40) printf ("TIMEOUT | ");
else if (uchar (i:adr+1) & 0x10) printf ("READY | ");
else if (uchar (i:adr+1) & 0x03) printf ("WAITING | ");
else if (uchar (i:adr+1) == 0) printf ("DELETED | ");
else printf ("ILLEGAL | ");
switch (uchar (i:adr+1) & 0x03) {
case 0: printf (" "); break;
case 1: printf ("SIGNAL "); break;
case 2: printf ("TIMEOUT "); break;
case 3: printf ("SIGNAL & TIMEOUT"); break;
}
if (uchar (i:adr+1) & 0x04) printf (" | 1");
else printf (" | 0");
printf (" | %3d |", uchar (i:adr));
adr = &?RTX_TASKSP + i;
printf (" %02XH |", uchar (i:adr));
}
printf ("\n+----------+-------+---------+------------------+--------+-------+-------+\n");
}
define button "Task State", "tasks ()"
bs ?RTX_NEXTTASK, 1, "printf (\"Switch to Task %d\\n\", R7)"
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?