初级会员
- 积分
- 188
- 金钱
- 188
- 注册时间
- 2014-10-10
- 在线时间
- 68 小时
|
1金钱
#define configMAX_PRIORITIES ( 32 )
#define configMINIMAL_STACK_SIZE ((uint16_t)128)
#define configTOTAL_HEAP_SIZE ((size_t)70*1024)
#define configMAX_TASK_NAME_LEN ( 16 )
//任务优先级
#define LED_TASK_PRIO 3
//任务堆栈大小
#define LED_STK_SIZE 128
//任务句柄
osThreadId LEDHandle;
//任务函数
void led_task(void *pvParameters);
//任务优先级
#define TCP_Client_TASK_PRIO 24 //数字越大,任务等级越高
//任务堆栈大小
#define TCP_Client_STK_SIZE 1000
//任务句柄
osThreadId TCP_Client_Handler;
//任务函数
void tcp_client_task(void *pvParameters);
//接收任务
//任务优先级
#define TCP_Client_Rec_TASK_PRIO 22 //数字越大,任务等级越高
//任务堆栈大小
#define TCP_Client_Rec_STK_SIZE 1000
//任务句柄
osThreadId TCP_Client_Rec_Handler;
//任务函数
void tcp_client_rec_task(void *pvParameters);
void led_task(void * argument)
{
u16 uxHighWaterMark ;
MX_LWIP_Init();
CreateSgLinkListInit(); //初始化接收和发送的链表
net_connect_server();
while(1)
{
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET);
osDelay(500);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET);
osDelay(500);
uxHighWaterMark = uxTaskGetStackHighWaterMark(LedHandle);
printf("LedHandle余栈空间是多少:%d.\r\n",uxHighWaterMark);
printf("剩余的内存空间是:%d.\r\n",xPortGetFreeHeapSize());
}
}
void net_connect_server(){
int res;
taskENTER_CRITICAL();
//创建TCP开始任务
res =xTaskCreate((TaskFunction_t )tcp_client_task, //任务函数
(const char* )"tcp_client_task", //任务名称
(uint16_t )TCP_Client_STK_SIZE, //任务堆栈大小
(void* )NULL, //传递给任务函数的参数
(UBaseType_t )TCP_Client_TASK_PRIO, //任务优先级
(TaskHandle_t* )&TCP_Client_Handler); //任务句柄
printf("-------res = %d-----------\r\n",res);
res = xTaskCreate((TaskFunction_t )tcp_client_rec_task, //任务函数
(const char* )"client_rec_task", //任务名称
(uint16_t )TCP_Client_Rec_STK_SIZE, //任务堆栈大小
(void* )NULL, //传递给任务函数的参数
(UBaseType_t )TCP_Client_Rec_TASK_PRIO, //任务优先级
(TaskHandle_t* )&TCP_Client_Rec_Handler); //任务句柄
printf("-------res = %d-----------\r\n",res);
taskEXIT_CRITICAL();
}
创建任务 printf("-------res = %d-----------\r\n",res); 输出永远都是 -1
搞不明白了,空间应该是有的。昨天还能运行,今天就不行了。请大神帮忙看看。。
|
|