ucosiii输出CPU利用率和堆栈利用率

代码如下 需要开启统计任务并把OS_CFG_DBG_EN 置一

效果如下:
在这里插入图片描述

void CPUUsage (void)
{
#if OS_CFG_DBG_EN > 0
	CPU_STK_SIZE free;
	CPU_STK_SIZE used;
	OS_ERR err;

	CPU_SR cpu_sr = 0u;
	OS_TCB *p_tcb;
	CPU_CRITICAL_ENTER();
	p_tcb = OSTaskDbgListPtr;
	CPU_CRITICAL_EXIT();
	printf("\r\n已用栈(B)   剩余栈(B)   栈使用率(%%)  优先级  CPU使用率(%%)   CPU最大使用率(%%)   调用次数     任务名\r\n");
	for (;;)
	{
		if (p_tcb != (OS_TCB *)0)
		{
			OSTaskStkChk(p_tcb, &free, &used, &err);
			printf("%4d        %4d         %3d%%        %3d  %10.2f%%      %10.2f%%       %8d       %s   \r\n",
				   used, free, (used * 100) / (used + free), p_tcb->Prio,
				   p_tcb->CPUUsage / 100.0, p_tcb->CPUUsageMax / 100.0, p_tcb->CtxSwCtr, p_tcb->NamePtr);
			CPU_CRITICAL_ENTER();
			p_tcb = p_tcb->DbgNextPtr; //指向下一个任务的TCB
			CPU_CRITICAL_EXIT();
		}
		else
		{
			break;
		}
	}
}
#endif
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜暝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值