自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (3)
  • 收藏
  • 关注

原创 中断管理(rtthread)

1.中断管理当 CPU 正在处理内部数据时,外界发生了紧急情况,要求 CPU 暂停当前的工作转去处理这个 异步事件。处理完毕后,再回到原来被中断的地址,继续原来的工作,这样的过程称为中断。实现这一功能的系统称为 中断系统,申请 CPU 中断的请求源称为 中断源。中断是一种异常,异常是导致处理器脱离正常运行转向执行特殊代码的任何事件,如果不及时进行处理,轻则系统出错,重则会导致系统毁灭性地瘫痪。如下图是一个简单的中断示意图。2.RT-Thread 中断工作机制2.1中断向量表中断向量表是所有中断处理

2020-06-08 14:18:13 2486

原创 typedef void(*Func)(void) 理解

题外话:跟typedef有个很类似的关键字时#define,两者其实是有区别的。typedef语句是在编译过程中被解析的,而#define是在编译之前的预处理过程中被解析的。#define所进行的只是对自定义别名的简单替换,而typedef则要灵活得多。总的来说,typedef可以做到#define所能做的所有事情,而且可以做得更好。正式内容:1、 typedef—声明简称 typedef,为现有类型创建一个新的名字。比如人们常常使用 typedef 来编写更美观和可读的代码。所谓美观,意指 typ

2020-06-01 16:59:25 788

原创 FSK和GFSK

1.FSK频移键控频移键控,英文缩写FSK。 正弦振荡的频率在一组离散值间改变的角度调制,其中每一离散值表示时间离散调制信号的一种特征状态。 频移键控是利用两个不同频率F1和F2的振荡源来代表信号1和0。用数字信号的1和0去控制两个独立的振荡源交替输出。对二进制的频移键控调制方式,其有效带宽为B=2xF+2Fb,xF是二进制基带信号的带宽也是FSK信号的最大频偏,由于数字信号的带宽即Fb值大,...

2020-05-06 11:37:44 6283 1

原创 KEIL环境中添加宏定义方法

前言嵌入式开发中,经常要用到宏定义,在keil环境中有多种添加方法。方法1.在文件中直接添加宏定义#define xxxxxx2,在keil配置环境中打开options for target,找到C/C++界面,如下:...

2020-04-29 11:40:39 12767 3

原创 晶振误差计算方法

前言嵌入式开发中,有时候对晶振误差比较敏感,本文提供了晶振自身误差的计算方法,以便根据实际需求选择合适的晶振。晶体根据等级分为0.1ppm\0.5ppm\1ppm\2ppm\5ppm\10ppm\20ppm\30ppm\50ppm\100ppm\200ppm晶体根据时间产生偏差的计算方法以10ppm晶体为例:1天的偏差:10(ppm)*24(小时) *60(分钟)60(秒)=864000...

2020-04-28 19:04:28 5741

原创 跳频实现树型网络的自组网

1.网络拓扑2.自组网方法1.网关上电后开始跳频侦听,并间隔发送一次心跳报文(包含跳频规律等信息)。2.第一层节点上电后,开始慢信道扫描,收到网关心跳报文后,马上跟网关保持跳频同步,并开始向网关发起父亲节点请求,网关同意后,第一层节点发起请求入网流程。3.网关同意第一层节点入网后,分配节点1、2路由信息。节点1、2入网后,开始转发再生心跳报文。4.节点3、4上电后开始慢信道扫描,收到第...

2020-04-28 16:31:08 737

原创 影响无线射频通信的几个条件

1.影响距离的几个指标无线通信时,点与点之间通信效果受很多因素影响。一般影响距离的因素有:1.发射机的发射功率;2.接收机的接收灵敏度;3.射频天线增益;4.实际环境干扰。2.影响距离的射频参数一般发射功率、接收灵敏度、天线匹配完成后,要想增加节点之间的距离,可以调整射频参数,影响通信距离的参数主要有:1.空中速率:速率越低,通信距离越远;2.通信频率:一般频率越低,绕射能力越...

2020-04-28 14:44:36 1787

原创 嵌入式KEIL开发环境自动创建思想

需求有时候涉及到较大的项目,涉及的开发代码很多,团队合作进行编码,一般都是建立git,把代码上传到服务器git上面,团队成员开发编译测试完成后不断上传git,使用的时候再从git上面下载最新的工程。本文的思想是:能否本地编代码完成后,直接上传服务器,让服务器进行编译创建工作,并把结果通过邮件发送给特定人员。设计思想1.在公司服务器上面安装keil环境、jenkins自动创建工具,在开发人员本...

2020-04-27 19:46:41 348 1

原创 一种带重复区域的数据拷贝程序

1.前言写嵌入式代码时,有时候会遇到数据拷贝,但是数据区有重复的现象,本文提供了这样一个拷贝函数,针对源地址域和目的地址域有重复的问题做了特殊处理。2.代码void mem_move(INT8U *dst, INT8U *src, INT16U len){INT8U *psrc,*pdst;if (len == 0){ return;}psrc = src;pdst ...

2020-04-25 15:59:12 185

原创 交织编解码算法

1.交织编解码介绍原来做项目用到了交织编码解码,原理如下图:

2020-04-25 13:59:45 2792

原创 时间片轮询实现单片机多任务工作

1.时间片轮询思路介绍:时间片轮询法,在很多书籍中有提到,而且有很多时候都是与操作系统一起出现,也就是说很多时候是操作系统中使用了这一方法。使用1个定时器,可以是任意的定时器,这里不做特殊说明,下面假设有3个任务,那么我们应该做如下工作:初始化定时器,这里假设定时器的定时中断为1ms(当然你可以改成10ms,这个和操作系统一样,中断过于频繁效率就低,中断太长,实时性差)。定义一个数值...

2020-04-20 19:02:23 1686

原创 一种(2,1,3)卷积编码以及维特比解码程序C实现

前言原来做燃气项目,无线通讯,为了增加设备间的通讯距离,用到了一套编码解码方案,其中用了一种(2,1,3)卷积编码,卷积图以及要求如下图所示:卷积编码和对应的维特比算法卷积编码程序很简单,但是对应的维特比算法比较复杂,网上有很多算法都是不断循环试探路径,效率上会有一定的缺陷。本程序用了查表法,效率有所提高。但是查表法也只针对这种简单的卷积方法,若是再复杂一些,则制表会很困难。维特比算法参考...

2020-04-19 10:04:15 3816 3

原创 C语言实现FIFO环形存储器

前言在CSDN社区看了很多FIFO的C语言实现,发现大多写的很复杂,看不懂。FIFO机制在嵌入式开发中串口数据收发处理相当方便,因此决定分享一下C语言的实现方法。代码很简单,就两个函数:fifo_put和fifo_get,可以结合串口直接进行调用,在项目中使用过。FIFO环形存储器读写说明为了解释方便,定义几个变量fifo.in:写入地址指针,fifo.out:读取地址指针,fifo.cou...

2020-04-16 18:10:12 2108 3

原创 单片机Bootloader与App的Hex文件手动合并方法

前言对带有IAP的嵌入式软件,生产大批量加工时,研发需要提供Boot和App的合并Hex文件,这样才能加快生产进度。Hex文件的简单说明编译器编译出的HEX文件一般格式如下::020000040800F2 //烧录起始地址:10000000C8BD0620D10100085D3B0008DD350008B1 //数据:10001000593B0008C9040008CD690008...

2020-04-15 16:01:03 2351

原创 低压工作状态下Flash易损坏后Bootloader改进方法

低压工作状态下Flash易损坏后Bootloader改进方法1.现象说明:设备用磁取能,有可能工作于欠压状态,批量设备运行一段时间后,有些设备出现APP损坏的问题,导致设备启动异常。软件设计架构如下:2.问题原因分析:单片机欠压状态工作容易发生异常现象,特别是欠压下擦写Flash,比如Flash损坏,因为程序启动后工作于APP并且Bootloader程序比较小,一般APP出问题可能性更大...

2020-04-14 14:00:41 719

ComMonitor.exe

很好用的一款串口工具助手,可以实现轮发,可以计算发送区各种CRC以及累积和,可以自动保存数据等,简单方便,是调试串口非常好用的工具。

2020-04-25

convolution.c

本程序设计了一种(2,1,3)的卷码编码和维特比解码算法,代码真实有效,下载可以直接使用,调用非常简单。另外,代码是针对查表法写的,效率非常高。针对的卷积电路可以查看本人写的博客。代码相比波特里面的程序加了以低比特先输入的算法,更加全面。希望对有需要的同学有所帮助。

2020-04-19

FIFO环形存储器C实现.rar

C语言实现FIFO功能,代码里面有FIFO读取和写入函数,可以在不同的开发平台下方便的移植,函数简单有效,已经用于实际开发项目中,针对串口收发使用非常方便。

2020-04-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除