任意两个都可以的。堆栈我已经改过了。Stack_Size EQU 0x00001000 Heap_Size EQU 0x00001500 #define configTOTAL_HEAP_SIZE ((size_t)10240) 改的这三个。 xTaskCreate(sht21Entry,"sht21_Task",512,NULL,3,NULL);//ÎÂ¶È ²âÁ¿ÈÎÎñ´´½¨ xTaskCreate(screenEntry,"screenEntry",512,NULL3,NULL);//ÆÁÄ»ÏÔʾÈÎÎñ´´½¨ xTaskCreate(XDTaskEntry,"xdTask",512,NULL,3,NULL); // xTaskCreate(ZMTaskEntry,"zmTask",512,NULL,3,NULL); // xTaskCreate(FM_Entry,"FM_Task",512,NULL,3,NULL); // xTaskCreate(FD_Entry,"FD_Task",512,NULL,3,NULL); // xTaskCreate(gpioTaskEntry,"GPIO_Task",512,NULL,3,NULL); // xTaskCreate(CurrentWDEntry,"Current_Task",512,NULL,3,NULL); 只能最大运行两个任务,第三个任务就不行了 |
才10K....改个几十K给他
给了15K。系统跑在了#define configASSERT( x ) if ((x) == 0) {taskDISABLE_INTERRUPTS(); for( ;; );} 这里
哦,你在中断做了什么..把这去掉....
正解,应该是操作系统的堆太小。
反馈下,给了15K,可以了