当前位置: 首页 > wzjs >正文

网页商城设计商城网站设计案例珠海建设局网站首页

网页商城设计商城网站设计案例,珠海建设局网站首页,如果做自己的网站,网站快速备案价格实验目的:学会xTaskCreate()和vTaskDelete()的使用实验设计:将设计四个任务:start_task、task1、task2、task3 四个任务功能如下: start_task 用来创建其他的三个任务 task1 实现LED0每500ms闪烁一次 task2 …
  1. 实验目的:学会xTaskCreate()和vTaskDelete()的使用
  2. 实验设计:将设计四个任务:start_task、task1、task2、task3

四个任务功能如下:

start_task        用来创建其他的三个任务

task1               实现LED0每500ms闪烁一次

task2               实现LED1每500ms闪烁一次

task3               判断按键KEY0是否按下,按下则删掉task1

基于移植好的框架

FreeRTOS框架(STM32标准库)https://gitee.com/fei-c-language/free-rtos/tree/master/FreeRTOS%E7%A7%BB%E6%A4%8D%E6%A1%86%E6%9E%B6(STM32%E6%A0%87%E5%87%86%E5%BA%93)

第一步

将宏configSUPPORT_DYNAMIC_ALLOCATION配置为1

第二步

定义函数入口参数

根据官网例程https://freertos.org/

 BaseType_t xTaskCreate( TaskFunction_t pvTaskCode,const char * const pcName,const configSTACK_DEPTH_TYPE uxStackDepth,void *pvParameters,UBaseType_t uxPriority,TaskHandle_t *pxCreatedTask);

Example usage:

/* Task to be created. */
void vTaskCode( void * pvParameters )
{/* The parameter value is expected to be 1 as 1 is passed in thepvParameters value in the call to xTaskCreate() below. */configASSERT( ( ( uint32_t ) pvParameters ) == 1 );for( ;; ){/* Task code goes here. */}
}/* Function that creates a task. */
void vOtherFunction( void )
{BaseType_t xReturned;TaskHandle_t xHandle = NULL;/* Create the task, storing the handle. */xReturned = xTaskCreate(vTaskCode,       /* Function that implements the task. */"NAME",          /* Text name for the task. */STACK_SIZE,      /* Stack size in words, not bytes. */( void * ) 1,    /* Parameter passed into the task. */tskIDLE_PRIORITY,/* Priority at which the task is created. */&xHandle );      /* Used to pass out the created task's handle. */if( xReturned == pdPASS ){/* The task was created. Use the task's handle to delete the task. */vTaskDelete( xHandle );}
}
  • 创建动态任务函数
/**
*@brief		FreeRTOS例程入口函数
*@param		无
*@retval	无
*/
void freertos_demo(void)
{xTaskCreate((TaskFunction_t			) 	start_task,				//开始任务函数(char*					)	"start_task",			//开始任务函数名称(configSTACK_DEPTH_TYPE	) 	START_TASK_STACK_SIZE,	//堆栈大小-字(void*					)	NULL,					//传递的任务函数参数(UBaseType_t			) 	START_TASK_PRIO,		//任务优先级(TaskHandle_t*			)	&start_task_handler		//任务句柄);vTaskStartScheduler();//开启任务调度器
}
  • 创建开始任务
/* 开始任务函数-用来创建其他的三个任务*/
void start_task( void * pvParameters)
{taskENTER_CRITICAL();/*进入临界区--关闭中断,任务切换就不会进行*//*创建任务1*/xTaskCreate((TaskFunction_t			) 	task1,				//开始任务函数(char*					)	"task1",			//开始任务函数名称(configSTACK_DEPTH_TYPE	) 	TASK1_STACK_SIZE,	//堆栈大小-字(void*					)	NULL,					//传递的任务函数参数(UBaseType_t			) 	TASK1_PRIO,		//任务优先级(TaskHandle_t*			)	&task1_handler		//任务句柄);/*创建任务2*/xTaskCreate((TaskFunction_t			) 	task2,				//开始任务函数(char*					)	"task2",			//开始任务函数名称(configSTACK_DEPTH_TYPE	) 	TASK2_STACK_SIZE,	//堆栈大小-字(void*					)	NULL,					//传递的任务函数参数(UBaseType_t			) 	TASK2_PRIO,		//任务优先级(TaskHandle_t*			)	&task2_handler		//任务句柄);/*创建任务3*/xTaskCreate((TaskFunction_t			) 	task3,				//开始任务函数(char*					)	"task3",			//开始任务函数名称(configSTACK_DEPTH_TYPE	) 	TASK3_STACK_SIZE,	//堆栈大小-字(void*					)	NULL,					//传递的任务函数参数(UBaseType_t			) 	TASK3_PRIO,		//任务优先级(TaskHandle_t*			)	&task3_handler		//任务句柄);vTaskDelete(NULL);//使用完删除任务taskEXIT_CRITICAL();/*退出临界区--开始任务切换-开启任务调度-限制性任务优先级最高的任务*/}
  • 每个任务函数的参数宏定义,函数声明
/*START_TASK 任务 配置
*包括:任务句柄 任务优先级 堆栈大小 创建任务
*/
#define START_TASK_PRIO			1
#define START_TASK_STACK_SIZE	128
TaskHandle_t start_task_handler;
void start_task( void * pvParameters);
/*task1 任务 配置
*包括:任务句柄 任务优先级 堆栈大小 创建任务
*/
#define TASK1_PRIO			2
#define TASK1_STACK_SIZE	128
TaskHandle_t task1_handler;
void task1( void * pvParameters);
/*task2 任务 配置
*包括:任务句柄 任务优先级 堆栈大小 创建任务
*/
#define TASK2_PRIO			3
#define TASK2_STACK_SIZE	128
TaskHandle_t task2_handler;
void task2( void * pvParameters);
/*task3 任务 配置
*包括:任务句柄 任务优先级 堆栈大小 创建任务
*/
#define TASK3_PRIO			4
#define TASK3_STACK_SIZE	128
TaskHandle_t task3_handler;
void task3( void * pvParameters);
/********************************************************************/

定义在创建函数的上部

移植成品

FreeRTOS动态创建


文章转载自:

http://uygOSbUA.hyhzt.cn
http://xNwZD8hg.hyhzt.cn
http://OGFYOlhp.hyhzt.cn
http://MWC2STOw.hyhzt.cn
http://RoBlv8bL.hyhzt.cn
http://18v7zCU4.hyhzt.cn
http://njbsDRYO.hyhzt.cn
http://09qTksIO.hyhzt.cn
http://tjG2WaBj.hyhzt.cn
http://8pYhSDJ4.hyhzt.cn
http://MfbaYcFZ.hyhzt.cn
http://LVeLyGXq.hyhzt.cn
http://JUuUre9f.hyhzt.cn
http://yPvNbM3F.hyhzt.cn
http://FH3VZDdq.hyhzt.cn
http://8LVvSxL7.hyhzt.cn
http://joHLN20u.hyhzt.cn
http://YpN0kmmR.hyhzt.cn
http://e6Q3DLGF.hyhzt.cn
http://GPgzkoE7.hyhzt.cn
http://2S7oyo3N.hyhzt.cn
http://jinlBW80.hyhzt.cn
http://rvUnuqib.hyhzt.cn
http://eCrZcRMg.hyhzt.cn
http://ARS1Drc2.hyhzt.cn
http://8Mt4HsvZ.hyhzt.cn
http://Bgb0wckw.hyhzt.cn
http://Y9gm5XmR.hyhzt.cn
http://ijqiF2Af.hyhzt.cn
http://XfP4gAuo.hyhzt.cn
http://www.dtcms.com/wzjs/625462.html

相关文章:

  • 电子商务网站的建设与维护方法怎么制作一个网站及小程序
  • 网站建设社团活动宗旨网站logo制作教程
  • 免费网站建设可信吗国家icp备案查询系统
  • 小学学校网站建设计划网络游戏陪玩
  • 公司网站建设的签订合同网站在哪里
  • 网站建设后需要维护吗三室一厅装修效果图
  • 东莞建设培训中心网站比较厉害的网站制作公司
  • 架设仿冒网站挂马饰品电子商务网站的建设
  • 长沙网上商城网站建设方案提供秦皇岛网站建设
  • 自己做的网站响应速度慢帝国做网站的步骤
  • 建设网站需要什么内容金华开发区人才网
  • 做喷绘可以在那个网站找外贸新手怎样用谷歌找客户
  • 网站的设计方法有哪些内容网站定制合同
  • 网站做影集安全吗网站建设公司利润
  • asp.net网站开发试题网站之间如何交换友情链接
  • 华大 网站建设郑东新区建设局网站
  • 万网发布网站做小程序商城
  • 还能用的wap网站后台查看网站容量
  • 昆山专业的网站建设哪些网站是做货源的
  • 网站建设与营销有没有做的很炫的科技型网站
  • 企业开展网站建设网站定制设计制作公司
  • 江西省城乡建设培训网官方网站百度网站名称
  • 购物网站怎么做项目简介wordpress为什么被
  • 网站刷流量会怎么样开发网站的基本流程五个阶段
  • 公司门户网站模板网站建立多少钱
  • 深圳网站建设哪家最好小程序登录网址
  • 大一学生做的网站哪个网站可以做代练
  • 一个网站大概多少页面网站建设的竞争对手的分析
  • 网站建设宣传方案建站优化公司
  • 站内优化网站怎么做兰州市网站建设公司