转自:https://blog.csdn.net/morixinguan/article/details/51799668    作者:Engineer-Bruce_Yang

就像下面的这个表

之前写过上面这个标题的一篇文章,讲的是以位移的方式去遍历表中的数据,效率非常高,但是,如果要实现一个乱序的流水灯或者跑马灯的话,思考一个这样的算法是不可取的,很费时间,也很费脑力,于是,今天就说一说查表法,如果在程序中运用查表法,不论多么复杂的程序,只要符合一张表,那都可以实现,非常简单,体力活而已,接下来看看下面这个程序,对上面这个进行操作吧。       

#include <stdio.h>
#include <windows.h>
//这里的行可以自由写,这样就不受限制,想做出什么样的效果都可以。
int array[][] = { 0x03,0x00,0x00,0x00,0x00,//第一列
0x00,0x02,0x00,0x00,0x00, 0x0C,0x00,0x00,0x00,0x00,//第二列
0x00,0x04,0x00,0x00,0x00, 0x10,0x00,0x00,0x00,0x00,//第三列
0x00,0x08,0x00,0x00,0x00, 0x60,0x00,0x00,0x00,0x00,//第四列
0x00,0x10,0x00,0x00,0x00, 0x80,0x01,0x00,0x00,0x00,//第五列
0x00,0x20,0x00,0x00,0x00, 0xAA,0x55,0x00,0x00,0xC0,//end
0x00,0x00,0x00,0x00,0x00, }; void to_Q112_cmd_designator_LED(int *array)
{
int i;
for(i = ; i < ; i++)
{
printf(" %3d ", *(array+i));
}
printf("\n");
} void delay_500ms(void)
{
Sleep();
} int main(void)
{
int i,j;
int tick;
int count = ;
while(array[count][] != 0xAA || array[count][] != 0x55)//如果当数组第count行第0列等于0xAA,或者第count行第1列等于0x55时,那么就退出,否则就循环执行遍历数据 
{
to_Q112_cmd_designator_LED((int *)(&array[][]+count*) );//以首元素每次向后偏移10个字节
delay_500ms(); count++;
} return ;
}

运行结果:

3    0    0    0    0    0    2    0    0    0
  12    0    0    0    0    0    4    0    0    0
  16    0    0    0    0    0    8    0    0    0
  96    0    0    0    0    0   16    0    0    0
 128    1    0    0    0    0   32    0    0    0

嵌入式C语言查表法的更多相关文章

  1. 嵌入式C语言查表法的项目应用

    嵌入式C实战项目开发技巧:如果对一个有规律的数组表进行位移操作 就像下面的这个表 之前写过上面这个标题的一篇文章,讲的是以位移的方式去遍历表中的数据,效率非常高,但是,如果要实现一个乱序的流水灯或者跑 ...

  2. 【C语言学习笔记】空间换时间,查表法的经典例子!知识就是这么学到的~

    我们怎么衡量一个函数/代码块/算法的优劣呢?这需要从多个角度看待.本篇笔记我们先不考虑代码可读性.规范性.可移植性那些角度. 在我们嵌入式中,我们需要根据实际资源的情况来设计我们的代码.比如当我们能用 ...

  3. C语言:十进制进制转换为其他进制(思想:查表法)

    // //  main.c //  Hex conversion // //  Created by ma c on 15/7/22. //  Copyright (c) 2015年 bjsxt. A ...

  4. C#,Java,C -循环冗余检验:CRC-16-CCITT查表法

    C#代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ...

  5. YUV420查表法高效、无失真的转换为RGB32格式

    YUV格式有两大类:planar和packed.planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V,这里所讲述的就是这中存储格式的:packed的YUV ...

  6. 查表法计算CRC16校验值

    CRC16是单片机程序中常用的一种校验算法.依据所采用多项式的不同,得到的结果也不相同.常用的多项式有CRC-16/IBM和CRC-16/CCITT等.本文代码采用的多项式为CRC-16/IBM: X ...

  7. 最简单的CRC32源码-查表法

    这个算法是在逐BYTE法的基础上进行修改的,在上一篇文章里我们说过,如果不查表的话,逐BYTE法和逐BIT法没什么区别,现在我们就把这个算法写出来,注意在调用CRC校验函数前需要先调用表生成函数: u ...

  8. RGB2GRAY 各种算法速度比较,整形乘法比查表法快!

    1.  查表法,外循环用 这种格式 :  //for(int j = 0; j != h; ++j)// for(int i = 0; i!=w;++i)//. for(int j = 0; j != ...

  9. 经典算法,yuv与rgb互转,查表法,让你的软件飞起来

    代码的运算速度取决于以下几个方面 1. 算法本身的复杂度,比如MPEG比JPEG复杂,JPEG比BMP图片的编码复杂. 2. CPU自身的速度和设计架构 3. CPU的总线带宽 4. 您自己代码的写法 ...

随机推荐

  1. JavaScript的数据类型与变量

    JavaScript数据类型 1.原始数据类型: 数值型,如十进制数.十六进制数.八进制数和特殊值(Infinity.NaN),注意:NaN不能和自身比较 字符串型,如定界符.转义符: 布尔类型. 2 ...

  2. idea 新建文件夹目录问题解决

    选中工程,设置,去掉选项“Compact Empty Middle Packages” .

  3. c#中abstract、override、new、virtual、sealed使用和示例

    原文地址:http://blog.csdn.net/richerg85/article/details/7407544 abstract      修饰类名为抽象类,修饰方法为抽象方法.如果一个类为抽 ...

  4. 给Sublime text 3增加选中当前单词快捷键

    1.录制一份macro caret on a word –> ctrl+left –> ctrl+shift+right 2.将录制好的macro保存为select_current_wor ...

  5. SAP Fiori里两种锁机制(lock)的实现

    方法1: ETAG机制 SAP CRM Fiori采用了这种机制. 看一个具体的例子来理解.假设我用用户名Jerry选中了这个ID为3456的Opportunity,点击Edit按钮之后: 会触发一个 ...

  6. 网络体系结构的概念 - 网络协议TCP - 红黑联盟

    https://i.cnblogs.com/EditPosts.aspx?opt=1 网络体系结构的概念  计算机网络就是一组通过一定形式连接起来的计算机系统,它需要四个要素的支持,即通信线路和通信设 ...

  7. P4722 【模板】最大流

    P4722 [模板]最大流 加强版 / 预流推进 今日心血来潮,打算学习hlpp 然后学了一阵子.发现反向边建错了.容量并不是0.qwq 然后就荒废了一晚上. 算法流程的话.有时间补上 #includ ...

  8. 【luogu P4114 Qtree1】 题解

    题目链接:https://www.luogu.org/problemnew/show/P4114 1.把边权转化到点权:选取连接这条边的两个点中较深的一个. 2.查询点到点之间的边权时,要从seg[x ...

  9. ActiveX控件注册不起作用的解决办法

    公司写了一个ActiveX打印插件.其中一个同事的电脑死活不能用.于是我就上网找办法 这位兄弟写的比较清晰. ActiveX交互时浏览器的设置以及ActiveX控件注册的检测 http://blog. ...

  10. caffe convert mxnet

    https://github.com/apache/incubator-mxnet/tree/430ea7bfbbda67d993996d81c7fd44d3a20ef846/tools/caffe_ ...