CUBE FREERTOS 三个和三个任务之上的运行不起来
任意两个都可以的。堆栈我已经改过了。Stack_Size EQU 0x00001000Heap_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);
只能最大运行两个任务,第三个任务就不行了
#define configTOTAL_HEAP_SIZE ((size_t)10240)
才10K....改个几十K给他 mark0668 发表于 2015-12-27 15:32
#define configTOTAL_HEAP_SIZE ((size_t)10240)
才10K....改个几十K给他
给了15K。系统跑在了#define configASSERT( x ) if ((x) == 0) {taskDISABLE_INTERRUPTS(); for( ;; );} 这里 先了解下。。。 Cube不是使用的CMSIS-RTOS的规范吗? david2016 发表于 2015-12-27 16:49
给了15K。系统跑在了#define configASSERT( x ) if ((x) == 0) {taskDISABLE_INTERRUPTS(); for( ;; );}...
哦,你在中断做了什么..把这去掉.... mark0668 发表于 2015-12-27 15:32
#define configTOTAL_HEAP_SIZE ((size_t)10240)
才10K....改个几十K给他
正解,应该是操作系统的堆太小。 我试过,可以用的呀 我也怀疑HEAP大小配置问题。:) mark0668 发表于 2015-12-27 15:32
#define configTOTAL_HEAP_SIZE ((size_t)10240)
才10K....改个几十K给他
反馈下,给了15K,可以了
页:
[1]