数据结构/编码
数据结构应用与C编码开发
hello_Byte
电子爱好者,从事嵌入式行业。我认为博客是一个:学习、笔记、交流的一个好平台。有时无法及时回复,有志同道合之友可加V沟通: honeyshinelu,一起相互探讨,共同进步。
展开
-
一种针对滑动变阻器AD值采集线性化处理算法
在项目中,用到了采集旋钮(滑动变阻器)的AD值,然后需要将数据发送给上位机。方法比较简单,但是有个要求就是:旋钮旋转的角度(输出阻值,Rx表示)需要和发送给上位机的的数据(Y表示)成线性关系(正比例关系)。为了达到此要求,动用了一些数学思维,对整个过程进行了分析和研究,达到了很好的线性效果。原创 2016-12-04 16:59:16 · 6474 阅读 · 1 评论 -
经纬度计算两地距离
目前能提供经纬度距离的算法有很多,以下方法是将地球看为椭圆进行处理计算。具体算法过程不详解(感兴趣的可以网上搜索具体计算过程),这里只列出代码实现部分,代码可以直接植入单片机中,进行计算。原创 2017-05-14 00:42:36 · 3282 阅读 · 0 评论 -
一种针对超声波测距的滤波处理算法
写一个针对超声波测距的特点,对其进行错误数据的滤波。其算法思想是,利用少数遵循多数原则,主要为了将采集的多个数据分成两波,将相邻两个数之差的最大那个作为两拨数的分界点。然后取两波数中个数最多的那波数为正确的有效值,另一波少数的为无效值。这样如果出现的几个错误值,而根据以上分析的错误数据特点,连续出现的几个错误数据大小都是比较靠近,而且不会超过3个点,因此在多个点(8个)中能很容易的将这些少数点分离出来。原创 2016-10-06 17:53:24 · 20570 阅读 · 6 评论 -
对一个8位(一字节)数的倒序处理
前段时间不小心把8位的并行数据口刚好倒序反接了,为了不改硬件下,在程序里将得到的一字节数的8位2机制进行倒序处理,处理后一字节返回。经过对代码的不断简练,下面附上倒序处理的算法。个人觉得有时比较有用,网友们有其它更好算法也可以给以借鉴!unsigned char Convert_P2(unsigned char Data) {char i;unsigned char Dat原创 2016-04-25 10:25:35 · 6754 阅读 · 3 评论 -
strstr(str1,str2)函数使用时注意事项
通过实际测试,从该函数入手,发现问题,到寻找原因,再到解决问题。从而得出正确使用此函数的经验。注意事项:在使用或者处理strstr(str1,str2)返回值之前,切记不要对str1字符串进行更改,若要更改,应该等使用完返回值后再更改!!原创 2016-10-14 22:14:45 · 74108 阅读 · 7 评论 -
memcpy与strcpy区别
memcpy与strcpy都是拷贝某段数据的函数库,是C语言自带标准函数库,位于:#include”string.h”头文件中,在一些字符串处理有很大帮助。很多人可能对一个数组的值赋给另一个数组时,估计都会采用一个for循环,对每个数组元素依次赋值。但如果使用数据拷贝函数,就可以一步到位。既然两者都是拷贝数据,但有何不同之处呢?原创 2017-08-06 12:52:07 · 889 阅读 · 0 评论 -
sizeof和strlen区别以及使用情况分析
实际做开发项目中,如果有涉及到字符数据处理等,都会遇到获取数据长度的情况。比如现在需要对a[50]数组进行赋值1~50的指定数据,如果50长度未知的情况,又应该如何为数组赋值?想到的就是获取数组长度(元素个数)然后再赋值(解决方法见文末)。C标准函数库有自带获取数据长度的函数:sizeof和sizelen。下面进行介绍两者区别以及使用条件分析。原创 2017-08-06 15:09:58 · 743 阅读 · 0 评论 -
一种寄存器操作指定位翻转方法
通常情况,很多CPU寄存器是不可以进行单独的位操作的,比如32位ARM,若要改变寄存器某位,那就有可能影响到其它的31位。 平时开发中会经常遇到,以平时开发中遇到的LED为例,如果要实现指定的LED翻转时,其它的LED状态不变,那么就要操作寄存器对指定位进行翻转,下面是笔者采用的一种方法,可以提供各位借鉴,如有更好的方法可以留言,一起交流探讨哈^_^。实例说明: 以S3C2440为例...原创 2018-05-29 20:47:43 · 2547 阅读 · 2 评论