![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
追梦的魂影
电气专业出身,从数据库,C#开发到嵌入式开发,再到硬件设计,又继续玩人工智能,自动驾驶,全栈型工程师
展开
-
快速排序法
一、快速排序算法的基本特性时间复杂度:O(n*lgn)最坏:O(n^2)空间复杂度:O(n*lgn)不稳定。快速排序是一种排序算法,对包含n个数的输入数组,平均时间为O(nlgn),最坏情况是O(n^2)。通常是用于排序的最佳选择。因为,基于比较的排序,最快也只能达到O(nlgn)。C代码转载 2014-05-27 13:38:06 · 600 阅读 · 0 评论 -
10种软件滤波方法的示例程序
10种软件滤波方法的示例程序(JKRL) 假定从8位AD中读取数据(如果是更高位的AD可定义数据类型为int),子程序为get_ad();1、限副滤波/* A值可根据实际情况调整 value为有效值,new_value为当前采样值 滤波程序返回有效的实际值 */#define A 10char value;char fil转载 2015-08-25 13:41:07 · 674 阅读 · 0 评论 -
STC单片机timer2捕获模式测频率
在使用STC单片机测频率最常用的方法是在一定时间内计算脉冲个数,这种方式一般需要一个计数器和一个定时器配合,而且对低频信号也不太准确,下面我们可以用到timer2的捕获模式通过测量两个下降沿的时间,来计算频率,这样做仅使用timer2就好了,而且对低频信号测量准确,经实际测试,在100Hz一下时,精度可达0.05Hz。原创 2015-10-16 11:30:56 · 10604 阅读 · 5 评论 -
C语言模拟C++方式读取串口操作实现
在使用C++编程对串口操作时,经常有用到serialport.read(),serialport.print()之类的函数,而且系统自带接收buf,不用考虑数据漏失的问题,那么在C语言环境下,怎么做呢?特别是51或STM32编程,或者要将C++代码转换成C代码时对这一块也不好移植,下面提供一个API,方便大家使用。首先看接口文件,也就是头文件:serialpoortAPI.h#ifnd原创 2016-01-12 15:11:28 · 6299 阅读 · 2 评论 -
基于stm32和ESP8266实现wifi模块smartlink功能以及TCP连接
一直想把wifi模块和stm32连接起来,但是网上找了很久,并没有C语言相关的库,只有基于arduino的ESP8266 C++库,这个库是没办法直接给stm32使用的,所以自己动手丰衣足食,自己手动将基于arduino的ESP8266 C++库移植成简单的C库,方便使用,目前这个库实现了基本的功能,可以实现波特率修改,smartlink,断线重连等功能,wifi模块主要运行在STA模式。因为原创 2016-01-12 16:21:55 · 19811 阅读 · 0 评论