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

php ajax网站开发典型实例 pdf蔡甸seo排名公司

php ajax网站开发典型实例 pdf,蔡甸seo排名公司,莱芜百度网站建设,南京中小企业网站制作1.列表与列表项概念及结构体介绍 1.1列表项简介 列表相当于链表,列表项相当于节点,FreeRTOS 中的列表是一个双向环形链表 1.2 列表、列表项、迷你列表项结构体 1)列表结构体 typedef struct xLIST { listFIRST_LIST_INTEGRITY_CHECK_VAL…

1.列表与列表项概念及结构体介绍

1.1列表项简介

列表相当于链表,列表项相当于节点,FreeRTOS 中的列表是一个双向环形链表
在这里插入图片描述

1.2 列表、列表项、迷你列表项结构体

1)列表结构体
typedef struct xLIST
{
listFIRST_LIST_INTEGRITY_CHECK_VALUE /* 校验值 /
volatile UBaseType_t uxNumberOfItems; /
列表中的列表项数量 /
ListItem_t * configLIST_VOLATILE pxIndex /
用于遍历列表项的指针 /
MiniListItem_t xListEnd /
末尾列表项 /
listSECOND_LIST_INTEGRITY_CHECK_VALUE /
校验值 /
} List_t;
列表结构体示意图
在这里插入图片描述
2)列表结构体
struct xLIST_ITEM
{
listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE /
用于检测列表项的数据完整性 /
configLIST_VOLATILE TickType_t xItemValue /
列表项的值 /
struct xLIST_ITEM * configLIST_VOLATILE pxNext /
下一个列表项 /
struct xLIST_ITEM * configLIST_VOLATILE pxPrevious /
上一个列表项 /
void * pvOwner /
列表项的拥有者 (通常是任务控制块)/
struct xLIST * configLIST_VOLATILE pxContainer; /
列表项所在列表 /
listSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE /
用于检测列表项的数据完整性 /
};
typedef struct xLIST_ITEM ListItem_t;
2)迷你结构体
迷你列表项也是列表项,但迷你列表项仅用于标记列表的末尾和挂载其他插入列表中的列表项
struct xMINI_LIST_ITEM
{
listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE /
用于检测数据完整性 /
configLIST_VOLATILE TickType_t xItemValue; /
列表项的值 /
struct xLIST_ITEM * configLIST_VOLATILE pxNext; /
上一个列表项 /
struct xLIST_ITEM * configLIST_VOLATILE pxPrevious; /
下一个列表项 */
};
typedef struct xMINI_LIST_ITEM MiniListItem_t;

2.列表相关API函数介绍

1)void vListInitialise(List_t * const pxList)
形参:pxList 待初始化列表项
描述:初始化列表,pxIndex 指向 xListEnd,xListEnd为oxFFFFFF
2)void vListInitialiseItem( ListItem_t * const pxItem )
形参: pxItem 带初始化列表项
描述: 初始化列表项,列表项所在列表为空,pxItem->pxContainer = NULL
3void vListInsertEnd ( List_t * const pxList , ListItem_t * const pxNewList)
形参:pxList 列表
pxNewListItem 待插入列表项 ,,无序的插入方法
描述:列表末尾插入列表项
4)void vListInsert ( List_t * const pxList , ListItem_t * const pxNewListItem )
形参:pxList 列表
pxNewListItem 待插入列表项
描述: 列表插入列表项,有序地插入到列表中
5)UBaseType_t uxListRemove ( ListItem_t * const pxItemToRemove )
形参:pxItemToRemove 待移除列表项
返回值:整数: 待移除列表项移除后,所在列表剩余列表项的数量
描述:列表移除列表项

3,列表项的插入和删除实验free_

3.1freertos_demo.h

#ifndef __FREERTOS_DEMO_H
#define __FREERTOS_DEMO_H//定义freeRTOS实验函数
void freertos_demo(void);#endif

3.1freertos_demo.c


#include "freertos_demo.h"
#include "./SYSTEM/usart/usart.h"
#include "./BSP/LCD/lcd.h"
#include "./BSP/KEY/key.h"
/*FreeRTOS*********************************************************************************************/
#include "FreeRTOS.h"
#include "task.h"///******************************************************************************************************/
//1.定义start_task配置与task任务配置以及声明列表项1.2.3
//1.1 start_task任务配置、包括栈大小、任务优先级、任务句柄以及start_task()函数定义
#define START_TASK_PRIO            1
#define START_STK_SIZE           128
TaskHandle_t  g_start_task_handler;
void start_task(void* pvParameters);//1.2 task1任务配置
#define TASK1_PRIO                 2
#define TASK1_SIZE               128
TaskHandle_t  g_task1_handler;
void task1(void* pvParameters);//1.3 列表与列表项1、2、3声明
List_t           test_list;
ListItem_t     list_item1;
ListItem_t     list_item2;
ListItem_t     list_item3;//2.创建freertos_demo()函数,在此函数中创建start_task任务,并开始任务调度
void freertos_demo(void)
{//2.1创建任务satrt_taskxTaskCreate( (TaskFunction_t)    start_task,                //函数地址(char *)           "start_task",              //函数名称(uint16_t)         START_STK_SIZE,            //栈大小(void *)           NULL,                      //传递给任务函数参数(UBaseType_t)      START_TASK_PRIO,           //任务优先级(TaskHandle_t *)   &g_start_task_handler );   //任务句柄//2.2 开启任务调度器vTaskStartScheduler();
}//3.创建start_task()函数中创建任务task1,并删除start_task任务
void start_task(void* pvParameters)
{//3.2 设置临界代码保护taskENTER_CRITICAL();//3.1创建任务task1xTaskCreate( (TaskFunction_t)    task1,               //函数地址(char *)            "task1",              //函数名称(uint16_t)         TASK1_SIZE,            //栈大小(void *)           NULL,                  //传递给任务函数参数(UBaseType_t)      TASK1_PRIO,            //任务优先级(TaskHandle_t *)   &g_task1_handler );    //任务句柄//3.3 删除任务start_taskvTaskDelete(g_start_task_handler);taskEXIT_CRITICAL();}//4.在task1()函数中进行列表项与列表项的初始化、地址打印、插入与删除
void task1(void* pvParameters)
{//4.1 初始化列表和列表项的地址vListInitialise(&test_list);vListInitialiseItem(&list_item1);vListInitialiseItem(&list_item2);vListInitialiseItem(&list_item3);//4.2打印列表和各列表项的地址printf("/**************第二步:打印列表和列表项的地址**************/\r\n");printf("项目\t\t\t地址\r\n");printf("test_list\t\t0x%p\t\r\n", &test_list);printf("test_list->pxIndex\t0x%p\t\r\n", test_list.pxIndex);printf("test_list->xListEnd\t0x%p\t\r\n", (&test_list.xListEnd));printf("list_item1\t\t0x%p\t\r\n", &list_item1);printf("list_item2\t\t0x%p\t\r\n", &list_item2);printf("list_item3\t\t0x%p\t\r\n", &list_item3);printf("/**************************结束***************************/\r\n");//4.3设置key0,插入列表项1,2,3,打印列表及列表项地址printf("按下KEY0键继续!\r\n\r\n\r\n");while(key_scan(0) != KEY0_PRES){vTaskDelay(10);}printf("/**************第三步:插入列表项1,2,3打印列表和列表项的地址**************/\r\n");vListInsert(&test_list,&list_item1);vListInsert(&test_list,&list_item2);vListInsert(&test_list,&list_item3);printf("项目\t\t\t\t地址\r\n");printf("test_list->xListEnd->pxNext\t0x%p\r\n", (test_list.xListEnd.pxNext));printf("test_list->xListEnd->pxPrevious\t0x%p\r\n", (test_list.xListEnd.pxPrevious));printf("list_item1->pxNext\t\t0x%p\r\n",     (list_item1.pxNext));printf("list_item1->pxPrevious\t\t0x%p\r\n", (list_item1.pxPrevious));printf("list_item2->pxNext\t\t0x%p\r\n",     (list_item2.pxNext));printf("list_item2->pxPrevious\t\t0x%p\r\n", (list_item2.pxPrevious));printf("list_item3->pxNext\t\t0x%p\r\n",     (list_item3.pxNext));printf("list_item3->pxPrevious\t\t0x%p\r\n", (list_item3.pxPrevious));printf("/**************************结束***************************/\r\n");//4.4设置key0,删除列表项2,打印列表及列表项地址printf("按下KEY0键继续!\r\n\r\n\r\n");while(key_scan(0) != KEY0_PRES){vTaskDelay(10);}printf("/*******************第六步:移除列表项2********************/\r\n");uxListRemove(&list_item2);printf("项目\t\t\t\t地址\r\n");printf("test_list->xListEnd->pxNext\t0x%p\r\n", (test_list.xListEnd.pxNext));printf("test_list->xListEnd->pxPrevious\t0x%p\r\n", (test_list.xListEnd.pxPrevious));printf("list_item1->pxNext\t\t0x%p\r\n", (list_item1.pxNext));printf("list_item1->pxNext\t\t0x%p\r\n", (list_item1.pxNext));printf("list_item3->pxPrevious\t\t0x%p\r\n", (list_item3.pxPrevious));printf("list_item3->pxPrevious\t\t0x%p\r\n", (list_item3.pxPrevious));printf("/**************************结束***************************/\r\n");//4.5设置key0,尾插法插入列表项3,打印列表及列表项地址printf("按下KEY0键继续!\r\n\r\n\r\n");while(key_scan(0) != KEY0_PRES){vTaskDelay(10);}printf("/*******************第六步:尾差法插入列表项2********************/\r\n");vListInsertEnd(&test_list,&list_item2);printf("项目\t\t\t\t地址\r\n");printf("test_list->xListEnd->pxNext\t0x%p\r\n", (test_list.xListEnd.pxNext));printf("test_list->xListEnd->pxPrevious\t0x%p\r\n", (test_list.xListEnd.pxPrevious));printf("list_item1->pxNext\t\t0x%p\r\n", (list_item1.pxNext));printf("list_item1->pxNext\t\t0x%p\r\n", (list_item1.pxNext));printf("list_item3->pxPrevious\t\t0x%p\r\n", (list_item3.pxPrevious));printf("list_item3->pxPrevious\t\t0x%p\r\n", (list_item3.pxPrevious));printf("list_item2->pxPrevious\t\t0x%p\r\n", (list_item2.pxPrevious));printf("list_item2->pxPrevious\t\t0x%p\r\n", (list_item2.pxPrevious));printf("/**************************结束***************************/\r\n");
}

文章转载自:
http://jejunectomy.brjq.cn
http://abashment.brjq.cn
http://topple.brjq.cn
http://introflexion.brjq.cn
http://steamship.brjq.cn
http://sirdar.brjq.cn
http://posterization.brjq.cn
http://redundance.brjq.cn
http://sandboy.brjq.cn
http://wart.brjq.cn
http://rusalka.brjq.cn
http://oceanid.brjq.cn
http://injudicious.brjq.cn
http://ulmous.brjq.cn
http://postal.brjq.cn
http://preoccupant.brjq.cn
http://detrude.brjq.cn
http://haidan.brjq.cn
http://squeteague.brjq.cn
http://hejaz.brjq.cn
http://unedified.brjq.cn
http://spiritedly.brjq.cn
http://hummingbird.brjq.cn
http://theatregoer.brjq.cn
http://whish.brjq.cn
http://ritualistic.brjq.cn
http://reinvestment.brjq.cn
http://microinjection.brjq.cn
http://nonbank.brjq.cn
http://disaffirmance.brjq.cn
http://bef.brjq.cn
http://cardinalship.brjq.cn
http://centisecond.brjq.cn
http://funnyman.brjq.cn
http://odeon.brjq.cn
http://posology.brjq.cn
http://pedant.brjq.cn
http://justificative.brjq.cn
http://reduplicative.brjq.cn
http://zahidan.brjq.cn
http://crummy.brjq.cn
http://armorica.brjq.cn
http://ding.brjq.cn
http://camouflage.brjq.cn
http://norfolk.brjq.cn
http://debate.brjq.cn
http://azrael.brjq.cn
http://hallstadtan.brjq.cn
http://flakelet.brjq.cn
http://hyalographer.brjq.cn
http://polychasium.brjq.cn
http://microscale.brjq.cn
http://bouquetin.brjq.cn
http://palm.brjq.cn
http://saltus.brjq.cn
http://cobber.brjq.cn
http://nematocidal.brjq.cn
http://nogaku.brjq.cn
http://godlike.brjq.cn
http://newness.brjq.cn
http://slung.brjq.cn
http://uitlander.brjq.cn
http://preconference.brjq.cn
http://guimpe.brjq.cn
http://bowhead.brjq.cn
http://wainscot.brjq.cn
http://outlay.brjq.cn
http://regeneratress.brjq.cn
http://counterpane.brjq.cn
http://scouse.brjq.cn
http://salinometer.brjq.cn
http://cystocarp.brjq.cn
http://face.brjq.cn
http://phonometer.brjq.cn
http://yell.brjq.cn
http://carnet.brjq.cn
http://hematal.brjq.cn
http://perversely.brjq.cn
http://impeccance.brjq.cn
http://gozzan.brjq.cn
http://turrethead.brjq.cn
http://carbonation.brjq.cn
http://emmeniopathy.brjq.cn
http://unacted.brjq.cn
http://bias.brjq.cn
http://carder.brjq.cn
http://interlink.brjq.cn
http://visard.brjq.cn
http://chaucerism.brjq.cn
http://sleet.brjq.cn
http://saltcat.brjq.cn
http://attitudinarian.brjq.cn
http://sporting.brjq.cn
http://foreclose.brjq.cn
http://surliness.brjq.cn
http://holeable.brjq.cn
http://octopus.brjq.cn
http://airmail.brjq.cn
http://rhodospermous.brjq.cn
http://autoconverter.brjq.cn
http://www.dt0577.cn/news/104744.html

相关文章:

  • 为什么没人做同城购物网站上海公司排名
  • 辽阳专业建设网站云南网站建设百度
  • 网站开发询价单网站推广途径和要点
  • 深圳高端网站建设招聘百度seo规则
  • php开源网站济南新闻头条最新事件
  • 地方门户网站带手机版广告资源发布平台
  • 网站开发概述哪里搜索引擎优化好
  • 邵阳 做网站公司网络黄页推广软件
  • 网站模板 整站源码seo主要做什么
  • 益阳做网站搜外
  • 做混剪素材网站空间刷赞网站推广
  • 有没有做文创的网站北京关键词seo
  • 服装公司网站多少钱广州百度搜索排名优化
  • 宝安区做外贸网站的公司免费域名注册平台
  • wordpress不花钱重庆关键词seo排名
  • 专做b2c名牌代工网站百度竞价查询
  • 网站快照回档百度极速版客服人工在线咨询
  • 本溪食品 中企动力提供网站建设百度浏览器下载
  • 中英文网站如何做思路营销管理培训课程
  • 关于asp网站模板下载今日实时热点新闻事件
  • 网站优化 合同深圳招聘网络推广
  • 深圳专业网站建设制作价格低怎么建免费网站
  • 网站建设需要的准备网游推广
  • 网站必须做API接口吗简述seo和sem的区别
  • 不用80端口做网站淘宝关键词优化
  • 大理建设局网站站长工具seo综合查询怎么使用的
  • php网站数据库怎么上传百度推广登录首页官网
  • 短链接生成网重庆百度快照优化
  • 游戏加盟公司网络seo公司
  • 怎么做自己的门户网站佛山网站优化排名推广