![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单片机程序
文章平均质量分 67
light546
喜欢运动……喜欢篮球……专注嵌入式底层软硬件……
展开
-
四个按键对常用数值调整代码
/*************************************************************** 四个按键数值调整,一个移位,两个加减,一个确定** 针对0~65536数值区间,任意数值** light** 2012-3-28*************************************************************/原创 2012-03-28 16:07:03 · 2389 阅读 · 0 评论 -
可剥夺型内核实时系统计算CPU使用率
1.针对可剥夺型内核。利用系统自带的空闲任务执行情况来计算CPU的使用率。如果空闲任务无法执行,则CPU使用率为100%。2.空闲任务优先级最低。可根据此任务的执行情况看CPU处于空闲状态的时间比例。3.系统原来的统计状态函数较复杂,占用CPU功能,为了降低系统损耗,已经屏蔽处理。4.手动测试,其他所有任务都关闭,只打开一个应用层任务,加上空闲任务做测试。1秒钟,空闲任务中计数变量OS原创 2014-01-09 15:00:54 · 1265 阅读 · 0 评论 -
STM32CAN过滤器的作用
STM32普通型芯片的CAN有14组过滤器组(互联型有28组过滤器组),用以对接收到的帧进行过滤。每组过滤器包括了2个可配置的32位寄存器:CAN_FxR0和CAN_FxR1。对于过滤器组,可以将其配置成屏蔽位模式,这样CAN_FxR0中保存的就是标识符匹配值,CAN_FxR1中保存的是屏蔽码,即CAN_FxR1中如果某一位为1,则CAN_FxR0中相应的位必须与收到的帧的标志符中的相应位吻合才能转载 2013-12-17 14:56:10 · 3584 阅读 · 2 评论 -
IIC协议及其对ACK应答信号的处理
IIC协议及其对ACK应答信号的处理 1,SCL一直由Master控制,SDA依照数据传送的方向,读数据时由Slave控制SDA,写数据时由Master控制SDA。当8位数据传送完毕之后,应答位或者否应答位的SDA控制权与数据位传送时相反。2,开始位“Start”和停止位“Stop”,只能由Master来发出。3,地址的8位传送完毕后,成功配置地址的Slave设备必须转载 2013-04-22 13:05:15 · 7372 阅读 · 0 评论 -
Modbus协议
㈠MODBUS规约MODBUS规约是MODICOM公司开发的一个为很多厂商支持的开放规约, Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。最主要的是它被很多组态软件所兼容,开发速度较快,受到了很多工控厂商的追捧。但是原创 2012-06-28 11:16:15 · 15955 阅读 · 1 评论 -
FFT结果的物理意义
FFT是离散傅立叶变换的快速算法,可以将一个信号变换到频域。有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了。这就是很多信号分析采用FFT变换的原因。另外,FFT可以将一个信号的频谱提取出来,这在频谱分析方面也是经常用的。 虽然很多人都知道FFT是什么,可以用来做什么,怎么去做,但是却不知道FFT之后的结果是什意思、如何决定要使用多少点来做FF转载 2012-05-16 14:44:27 · 1461 阅读 · 0 评论 -
卡尔曼滤波
状态估计原理 状态估计是卡尔曼滤波的重要组成部分。一般来说,根据观测数据对随机量进行定量推断就是估计问题,特别是对动态行为的状态估计,它能实现实时运行状态的估计和预测功能。比如对飞行器状态估计。状态估计对于了解和控制一个系统具有重要意义,所应用的方法属于统计学中的估计理论。最常用的是最小二乘估计,线性最小方差估计、最小方差估计、递推最小二乘估计等。其他如风险准则的贝叶斯估计、最大似然估计、随转载 2012-04-18 15:40:58 · 1838 阅读 · 0 评论 -
枚举和switch一起使用
枚举是声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。枚举是将变量的值一一列出来,变量的值只局限于列举出来的值的范围内。枚举也可代替宏定义定义某些数值,以供系统调用。使程序易于阅读。注意:枚举只是枚举类型,不能够赋值操作。如下:UP默认值为0,但是UP不能=0,因为数据类型不一样。枚举中变量未直接赋值,默认等于前一个变量值加一,起始值默认为0。///=====原创 2012-04-12 14:02:00 · 25244 阅读 · 0 评论 -
有限状态机理解小例子
状态机:就是指定系统的所有可能的状态及状态间跳转的条件,然后设一个初始状态输入给这台机器,机器就会自动运转,或最后处于终止状态,或在某一个状态不断循环。游戏中状态切换是很频繁的。 可能以前要切换状态就是if~else,或者设标志,但这些都不太结构化, 如果把它严格的设为一种标准的状态机,会清楚的多。比如控制一扇门的运动, 初始时门是关的, 当有力作用在门上时, 门开始慢慢打开,力的作用完后原创 2012-03-19 14:32:24 · 2486 阅读 · 0 评论 -
在main()之前,IAR都做了啥?
本文转载自:http://www.cnblogs.com/mssql/archive/2011/01/29/tt146.html最近要在Cortex-M3上写一个简单的操作系统,打算使用IAR,为了写好启动代码,花了一些时间了解了IAR在main()以前做了些什么事。首先系统复位时,Cortex-M3从代码区偏移0x0000'0000处获取栈顶地址,用来初始化MSP寄存器的值。转载 2015-05-08 10:09:43 · 1162 阅读 · 0 评论