
单片机
yi412
这个作者很懒,什么都没留下…
展开
-
快速傅里叶变换FFT的C语言算法彻底研究
快速傅里叶变换FFT的C语言算法彻底研究LED音乐频谱显示的核心算法就是快速傅里叶变换,FFT的理解和编程还是比较难的,特地撰写此文分享一下研究成果。 一、彻底理解傅里叶变换快速傅里叶变换(Fast Fourier Transform)是离散傅里叶变换的一种快速算法,简称FFT,通过FFT可以将一个信号从时域变换到频域。模拟信号经过A/D转换变为数字信号的过程称为采样。为保证采样后转载 2017-12-26 17:31:40 · 10767 阅读 · 3 评论 -
数据预处理-归一化与z-score标准化
归一化:归一化是一种简化计算的方式,即将有量纲的表达式,经过变换,化为无量纲的表达式,成为标量。 在多种计算中都经常用到这种方法。线性函数转换:y=(x-MinValue)/(MaxValue-MinValue)说明:x、y分别为转换前、后的值,MaxValue、MinValue分别为样本的最大值和最小值。对数函数转换:y=log10(x)说转载 2017-12-28 15:03:15 · 7594 阅读 · 0 评论 -
RO段、RW段和ZI段 --Image$$??$$Limit 含义
作者评注:内容很多,不过解释讲解详细http://www.cnblogs.com/heart-of-eagle/archive/2011/04/28/2032240.html转载: IMPORT |Image$$RO$$Limit| IMPORT |Image$$RW$$Base| IMPORT |Image$$ZI$$Base| IMPORT |...转载 2018-03-09 17:29:11 · 2482 阅读 · 0 评论 -
TCP/PI checksum 简析
TCP/PI checksum 简析Checksum原理Checksum广泛应用于TCP/IP协议族,用于校验IP、TCP、UDP数据,其原理比较简单,其计算校验和的步骤如下: 1)在数据发送端,首先将检验和字段本身清零,将被检验的相邻字节成对配成16bit的整数,将所有的配对相加,同时将进位加到校验和的低字节上,我们将得到的校验和定义为a,最后再将校验和取反记为-a,将-a放到校验和字段发送到网...转载 2018-03-29 14:48:44 · 570 阅读 · 0 评论 -
在keil中使用不初始化变量
单片机型号:STM32F030R8 我们进行程序设计的时候,都会知道,系统上电或复位时,会执行变量初始化操作,但是有些情况下,我们并不希望变量初始化,例如,在系统异常复位发生后,我们希望系统能够迅速恢复复位前的现场状况,这样就希望变量能够保留原先的值,而不被初始化。实际上,大家都知道,变量是存储在RAM中的,只要不掉电,变量的数值是不会改变的,只要我们不让系统进行初始化操作就可以了。...转载 2019-03-20 09:49:15 · 7073 阅读 · 1 评论 -
十大滤波算法程序大全Arduino
最近用Arduino做电子秤,为了解决数据的跳变研究了不少滤波算法。网上能找到大把的十大滤波算法帖子,每一篇都不太一样,都号称精编啊,除错啊什么的,可是放到板子里却没一个能正常跑起来的。于是决定自己整理一下这些程序,完美移植到Arduino中。所以大家看到这个帖子的时候,不要怀疑我重复发帖。我的代码都是经过反复试验,复制到Arduino中就能开跑的成品代码,移植到自己的程序中非常方便。而且都仔细研...转载 2019-04-24 21:01:55 · 903 阅读 · 0 评论 -
单片机程序构架
似乎软件架构,只有纯上位机软件才有,其实,嵌入式软件也有架构可言,只有好的架构,才能结构清晰,方便开发和让系统稳定的工作。在有嵌入式操作系统的情况下,可以利用多任务和信号量,事件等设计嵌入式软件。但是在没有操作系统的裸机中,更需要有好的架构。例如利用事件和状态机模拟实现多任务,或者利用定时器和消息队列,信号量等模拟实现多任务,有了多任务就能灵活的设计软件架构。一种简单的信号量实现:vo转载 2017-12-05 11:20:12 · 11901 阅读 · 0 评论 -
NMEA-0183协议
NMEA是National Marine Electronics Association(美国国家海事电子协会)的缩写。该协会是一家专门从事海洋电子设备方面研究的民间机构,它制定了关于GPS(全球定位系统)电子设备之间的通信接口和协议的NMEA标准。NMEA-0183协议是目前GPS接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。转载 2017-04-17 16:29:59 · 1454 阅读 · 0 评论 -
直流无刷电机的正弦波控制
直流无刷电机的正弦波控制传统的直流无刷电机采用方波控制方式,控制简单,容易实现,同时存在转矩脉动、换相噪声等问题,在一些对噪声有要求的应用领域存在局限性。针对这些应用,采用正弦波控制可以很好的解决这个问题。直流无刷电机的正弦波控制简介直流无刷电机的正弦波控制即通过对电机绕组施加一定的电压,使电机绕组中产生正弦电流,通过控制正弦电流的幅值及相位达到控制电机转矩的目的。转载 2017-03-02 16:52:50 · 24374 阅读 · 3 评论 -
C简单低通滤波器
/* Low Pass Filter Ruler : AD_Val = (ADCR + (2^k-1)*older ADCR) / 2^k; K = 1 : AD_Val = (ADCR + older ADCR) / 2; K = 2 : AD_Val = (ADCR + 3 * older ADCR)原创 2013-11-27 14:57:20 · 2784 阅读 · 0 评论 -
keil4.7和ADS 1.2兼容设置
最近安装了Keil 4.73的最新版本,却莫名其妙的出现了与ADS 1.2软件不兼容的情况,弄了半天才弄好,为了大家少走点弯路,把网上论坛的解放方案分享一下(呵呵,原封不动抄周立功论坛的,内容如下;)/***********************************************************************************************转载 2014-03-03 09:13:50 · 1278 阅读 · 1 评论 -
十大滤波算法
1、限幅滤波法****************************************************函数名称:AmplitudeLimiterFilter()-限幅滤波法*优点:能有效克服因偶然因素引起的脉冲干扰*缺点:无法抑制那种周期性的干扰,且平滑度差*说明: 1、调用函数 GetAD(),该函数用来取得当前值 2、变量说明转载 2014-06-23 15:17:29 · 567 阅读 · 0 评论 -
收藏一下网站
http://www.x-io.co.uk/products/x-imu/ 国外http://www.mxkong.com/forum.php 国内模型控网原创 2015-03-16 08:38:57 · 416 阅读 · 0 评论 -
zigbee zcl规范及其协议栈实现1
zigbee zcl规范及其协议栈实现1http://www.cnblogs.com/-song/archive/2013/03/16/3331818.htmlrefer to ZigBee_Cluster_Library_Public_download_version1.zcl 分为几个不同的功能领域,每个领域霸占一部分clusterid比如通用领域有如下的clust转载 2015-04-30 11:17:27 · 2429 阅读 · 0 评论 -
基于ATMEGA8515的SPI驱动ST7565P液晶屏的程序(原创)
这是用SPI方式来驱动12864液晶的源程序,液晶屏的控制芯片为ST7565P经测试SPI的时钟可达到振荡频率的二分频。比用普通IO口模拟串行的方式快多了。。。 下面贴出源代码,有详细注释。。。。 本程序简单实用,可拿去作简单参考。。。。 编译环境:GCC+AVR STUDIO 单片机:ATMEGA 8515 晶振: 3.6864M #includ转载 2015-07-31 08:59:51 · 4052 阅读 · 0 评论 -
SD卡 (SD miniSD microSD SDIO)知识详解
SD卡 (SD miniSD microSD SDIO)知识详解 SD卡(Secure Digital Memory Card)是一种基于半导体闪存工艺的存储卡, 1999年,由日本松下、东芝及美国SanDisk公司共同研制完成。2000年,这几家公司发起成立了SD协会(Secure Digital Association简称SDA),阵容强大,吸引了大量厂商参加。其中包括IBM,M转载 2015-07-31 20:07:19 · 11210 阅读 · 0 评论 -
有关SD卡接线的探索(为什么标准SD卡是九根线,而一般原理图上都是11根线或更多呢?)
首先说几个概念:SD卡:SDHC卡(SD High Capacity,大容量SD卡):4GB~32GBSDXC卡(SD eXtended Capacity):64GB~2TB,这是2009年SD协会发布的新标准SDIO:SD Input Output 带有输入输出设备的SD卡 SD技术是一个大家族,由SD协会负责设置行业标准,应用在超过 400 种品转载 2015-07-31 19:57:39 · 3292 阅读 · 0 评论 -
I2C总线信号时序总结
I2C总线信号时序总结总线空闲状态 I2C总线总线的SDA和SCL两条信号线同时处于高电平时,规定为总线的空闲状态。此时各个器件的输出级场效应管均处在截止状态,即释放总线,由两条信号线各自的上拉电阻把电平拉高。 启动信号 在时钟线SCL保持高电平期间,数据线SDA上的电平被拉低(即负跳变),定义为I2C总线总线的启动信号,它标志着一次数据传输的开始。启动信号是一种电转载 2015-08-01 17:38:25 · 768 阅读 · 0 评论 -
关于I2C和SPI总线协议
关于I2C和SPI总线协议IICvs SPI 现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral Interface)的身影。原因是这两种通信协议非常适合近距离低速芯片间通信。Philips(for IIC)和Motorola(for SPI) 出于不同背景和市场需转载 2015-08-01 17:20:06 · 610 阅读 · 0 评论 -
I2C总线协议学习笔记
1.I2C协议 2条双向串行线,一条数据线SDA,一条时钟线SCL。 SDA传输数据是大端传输,每次传输8bit,即一字节。 支持多主控(multimastering),任何时间点只能有一个主控。 总线上每个设备都有自己的一个addr,共7个bit,广播地址全0. 系统中可能有多个同种芯片,为此addr分为固定部分和可编程部份,细节视芯片而定,看datas转载 2015-08-01 17:26:06 · 473 阅读 · 0 评论 -
MSP430资料
http://www.ti.com/ww/cn/uprogram/analog/ti_analog_080704_01.html原创 2013-11-12 19:46:35 · 668 阅读 · 0 评论