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

快站淘客网站开发快速盈利

快站淘客,网站开发快速盈利,寻找杭州做网站软件人,图片wordpress目录 一、嵌入式中的映射表是什么? 二、映射表在串口数据解析中的应用 1. 数据结构 2. 指令、函数映射表 3. 串口解析函数实现 三、映射表在UI设计中的应用 1. 数据结构 2. 函数映射表 3. 定义两个变量保存当前场景和上一个场景 4. 按下Up按键 跳转到指定场…

目录

一、嵌入式中的映射表是什么?

二、映射表在串口数据解析中的应用

1. 数据结构

2. 指令、函数映射表

 3. 串口解析函数实现

三、映射表在UI设计中的应用

1. 数据结构

2. 函数映射表

3. 定义两个变量保存当前场景和上一个场景

4. 按下Up按键 跳转到指定场景current_stage的值根据映射表改变

5. 场景改变后 根据映射表执行相应的函数Handler

(* ̄︶ ̄)创作不易!期待你们的 点赞、收藏和评论喔。  


一、嵌入式中的映射表是什么?

在嵌入式系统开发中,映射表(Lookup table)是一种常见的数据结构,用于将输入值(通常是一个或多个离散的输入)映射到对应的输出值。它是一种预先计算和存储的数据表格,可以快速查找和获取对应的输出值,而无需进行复杂的计算。

映射表通常以数组或者哈希表的形式存储,其中输入值被用作索引或关键字,而与之对应的输出值存储在相应的位置上。当系统需要根据给定的输入值获取对应的输出时,只需通过查询映射表即可获得结果,无需进行繁琐的计算过程。

在嵌入式系统中,映射表常用于优化算法信号处理数据转换等场景。通过使用映射表,可以提高系统响应速度、降低功耗,并且减少代码的复杂性。

需要注意的是,映射表的设计和填充要根据具体应用场景来进行,确保映射表能够准确地满足系统需求,并且占用的内存空间不超过系统的限制。此外,在使用映射表时还需要考虑数据的精度以及表格的更新机制,以保证系统的准确性和可靠性。

 

二、映射表在串口数据解析中的应用

1. 数据结构

typedef struct 
{char CMD[CMDLen];unsigned char (*cmd_operate)(char *data);
}Usart_Tab;

2. 指令、函数映射表


static const Usart_Tab InstructionList[CMDMax]=
{{"PWON",PowOn},{"PWOFF",PowOff},{"HDCP",HdcpOnOff},{"/V",QueryKaVersion},{"EDIDUpgrade",UpdataEDID},{"Psave",Psave},{"Precall",Precall},{"Pclear",Pclear},
};

 3. 串口解析函数实现


unsigned char DataAnalysis(char *buf)
{unsigned char i,Result;char *NEXT=NULL;for(i=0;i<CMDMax;i++){NEXT=StrCmp(buf,(char*)InstructionList[i].CMD);if(NEXT!=NULL){usartfuncp=InstructionList[i].cmd_operate;Result=(*usartfuncp)(NEXT);}}return Result;
}

 

三、映射表在UI设计中的应用

1. 数据结构

typedef enum
{stage1=0,stage2,stage3,stage4,stage5,stage6,stage7,stage8,stage9,
}SCENE;

typedef struct {void (*current_operate)(); //当前场景的处理函数SCENE Index;               //当前场景的标签SCENE Up;                  //按下Up键跳转的场景SCENE Down;                //按下Down键跳转的场景SCENE Right;               //按下Left键跳转的场景SCENE Left;                //按下Right键跳转的场景
}STAGE_TAB;

2. 函数映射表


STAGE_TAB stage_tab[]={#.    operate       Index    Up     Down    Left   Right   {Stage1_Handler,  stage1,  stage4,  stage7,  stage3, stage2},{Stage2_Handler,  stage2,  stage5,  stage8,  stage1, stage3},{Stage3_Handler,  stage3,  stage6,  stage9,  stage2, stage1},{Stage4_Handler,  stage4,  stage7,  stage1,  stage6, stage5},{Stage5_Handler,  stage5,  stage8,  stage2, stage4,  stage6},{Stage6_Handler,  stage6,  stage9,  stage3, stage5,  stage4},{Stage7_Handler,  stage7,  stage1,  stage4, stage9,  stage8},{Stage8_Handler,  stage8,  stage2,  stage5, stage7,  stage9},{Stage9_Handler,  stage9,  stage3,  stage6, stage8,  stage7},
};

3. 定义两个变量保存当前场景和上一个场景

char current_stage=stage1;
char prev_stage=current_stage;

4. 按下Up按键 跳转到指定场景current_stage的值根据映射表改变


current_stage =stage_tab[current_stage].Up;

5. 场景改变后 根据映射表执行相应的函数Handler


if(current_stage!=prev_stage)
{stage_tab[current_stage].current_operate();prev_stage=current_stage;
}


(* ̄︶ ̄)创作不易!期待你们的 点赞收藏评论喔。  

http://www.15wanjia.com/news/192255.html

相关文章:

  • 网站常用的一种js幻灯片h5网站和传统网站
  • 定制网站和模板网站及仿站的区别广州招聘网站制作
  • 企业营销型网站建设品牌网站开发完要怎么部署
  • wordpress自定义文章类型分类模板嘉兴网站seo公司
  • 设计网站属于什么专业南岸集团网站建设
  • 网站建设歺首选金手指12诸暨哪些公司可以制作网站
  • 做哪个网站的推广最好wordpress改主题幻灯片尺寸
  • wordpress 云教育seo体系
  • 做网站运营有前景么网站wap怎么做
  • 厦门seo网站推广宁波网站优化公司电话
  • 浪子做的阿哲喊麦网站多少wordpress支持系统
  • 功能主机网站无忧网站建设哪家便宜
  • 网上学习做网站永久免费的网络加速器
  • 沈阳市有做网站的公司Https全局wordpress
  • 教育类网站 前置审批马上飞做的一些网站
  • cms网站建设的实训总结网站程序上传工具
  • 建站工具推荐ie浏览器官方网址入口
  • 重庆荣昌网站建设费用北京php培训网站建设
  • 网站制作心得体会200字最近一周的国内新闻
  • 网站的购物车怎么做263邮箱个人登录
  • 做网站的软件高中 通用技术北京公司网站制作要多少钱
  • 做网站的windowlcd返利淘网站怎么做
  • 中国建设工程人才库官方网站手机app制作下载
  • ks2e做网站网站重要性
  • 广东两学一做考试网站网店推广软件有哪些
  • 做网站卖什么条件网站浮窗代码
  • 个人主页网站百度公司排名
  • 做网站的话术企业网站管理系统如何使用说明
  • wordpress 装饰插件网站seo 文章转载 修改标题
  • 网站速度慢的原因wordpress微软雅黑