头像-8440

大伟

  • 9145
  • 嵌入式
  • 消费电子

个人成就

获得 4 次赞

帮助过206人

影响开关电源开机时间的有那些元器件

影响开关电源开机时间的有那些元器件

ucosiii 堆栈检测函数运用的小疑问

附上堆栈检测函数的代码 #define         Usage_STK_SIZE                                                                        128u                //统计任务 #define         IWDG_STK_SIZE                                                                        64u                        //看门狗任务复制代码 void usage_task(void *p_arg) {         OS_ERR err;         CPU_STK_SIZE freeused;         p_arg = p_arg; //        static u32 time = 0time1 = 0;                 while(DEF_TRUE)         { //                time = OSTimeGet(&err);                 debug("%d run in   app_usage\r\n" OSTimeGet(&err));                                 printf("\r\n");                 OSTaskStkChk (&IwdgTaskTCB&free&used&err);                 printf("IwdgTaskTCB                        used/free:%d/%d                usage:%%%d\r\n"used*4free*4(used*100)/(used+free));                                 OSTaskStkChk (&UsageTaskTCB&free&used&err);                 printf("UsageTaskTCB                        used/free:%d/%d                usage:%%%d\r\n"used*4free*4(used*100)/(used+free));                 printf("\r\n");                                 debug("%d end in   app_usage\r\n" OSTimeGet(&err));                 OSTimeDlyHMSM(0030(OS_OPT)OS_OPT_TIME_DLY(OS_ERR*)&err);         } }复制代码 代码就检测了喂狗任务的堆栈  和  检测任务的堆栈使用。 打印的地方 *4 是为了表示为字节。 然后在喂狗函数里面测试,申请的局部变量与打印出来的堆栈使用情况 #define num        21    void iwdg_task(void *p_arg) {         OS_ERR err;         p_arg = p_arg;         u8 i = 0;                 while(1)         {                 u8 count[num]={0};                 //                for(i=0; i<num; i++) //                { //                        count[i] = i; //                }                                 IWDG_Feed();                //喂狗                                 OSTimeDlyHMSM(000500OS_OPT_TIME_HMSM_STRICT&err);         } }复制代码 这是其中的两个打印的情况 1.png (1.47 KB 下载次数: 0) 下载附件 昨天 14:53 上传 2.png (1.49 KB 下载次数: 0) 下载附件 昨天 14:53 上传 总结出来的结果是: 当count 数组的类型是 u8 时, num 大小  0 -12  打印的used 为 156 num 大小 13 -20 打印的used 为 164 num 大小 21 -28 打印的used 为 172 num 大小 29 -36 打印的used 为 180 num 大小 37 -45 打印的used 为 188 num 大小 45      打印的used 为 196 当count 数组的类型是 u32 时, num 大小  0 -  3  打印的used 为 156 num 大小  4 -  5  打印的used 为 164 num 大小  6 -  7  打印的used 为 172 num 大小  8 -  9  打印的used 为 180 num 大小 10 -11  打印的used 为 188 num 大小 12       打印的used 为 196 打印出来的数据怎么是8个字节进行的跳变? 然后刚开始定义数组的时候,都超多了8字节也不会跳变,到后面才有规律的8字节增加。 请问这是咋回事,有知道的可以谈谈吗?

大家用esp8266做过哪些有趣的东西?

最近手头上有一块esp8266,请教下大家做出过什么有趣的东西?

INN3268 做适配器,输出电压要求是3.4V-5.5V,副边BSP需要添加什么电路?

INN3268 做适配器,输出电压要求是3.4V-5.5V,副边BSP需要添加什么电路?

串口还在输出信息,但oled屏间歇性卡住问题

1306OLED屏为什么会间歇性卡住串口还在输出信息但屏幕定住不动了,请问这是什么原因?

在ARM开发板上做完以后,如何去变成成品的东西?

比如在TQ2440上做了一个东西以后然后怎么才能把它变成好像手机一样的成品的东西?====还是说只能用开发板来做实验要想做成品必须先做硬件出来然后再硬件上开发?

树莓派安装的应用程序过大

树莓安装的应用程序都很大,sd卡只有16G,做成系统后只有30M,那还怎么运行?