
嵌入式软件
Carson112233
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
嵌入式项目实战经验
嵌入式项目实战经验分享,C/C++、Linux、STM32、51单片机、FPGA、IoT、OpenCV、数字图像处理、通信、算法!原创 2020-06-01 09:11:35 · 2371 阅读 · 0 评论 -
一种适用于单片机的低功耗软件设计
本算法把单片机软件功能划分成一个个子任务,每个子任务有一个标志。任务对应的标志为1,就需要运行该任务,为0,跳过该任务。只要所有的任务标志位都为0,说明没有任务可以运行,就进入低功耗睡眠状态。单片机的唤醒,需要外部事件的触发,比如按键触发,定时触发。以按键任务,定时任务两个任务为例,说明实现过程:1.判断按键任务标志是否为1,为1,则处理按键任务,处理完后,清除按键任务标志。2.判断定时任务...原创 2019-10-18 09:04:17 · 581 阅读 · 0 评论 -
一种快速的动态内存分配算法
算法步骤:1.对每个内存缓冲池进行划分,分为位图和内存块。例如一个2K的内存池,按照16字节一个block单位来划分,首先拿出16字节(=2*1024/16/8)当做位图来标记每个block是否被占用,每一个block对应位图中一个Bit,内容如图1所示。当一个block的标记为1,表示可用,为0,表示被占用。位图(16字节,用128bit表示)图12.内存分配,针对需要多个块的情况,例...原创 2019-10-17 10:13:55 · 575 阅读 · 0 评论 -
基于状态机的DLT645协议解析
DLT645-2007协议格式如下:/* 根据协议格式的状态定义 /#define FRAME_STATES_DLT645_NULL 0 / no synchronisation /#define FRAME_STATES_DLT645_68 1 / have the first Flag Byte r...原创 2019-07-25 12:27:28 · 2693 阅读 · 0 评论 -
Flash存储器磨损均衡原理及实现
转载,原文地址:https://blog.csdn.net/csdliqi/article/details/80361163背景现在嵌入式开发使用的存储器时逐渐都直接使用Flash,原因是Flash价格便宜,空间大,内置,直接使用不需要再加其他存储外设。但如果直接用操作EEPROM的方式来使用Flash会带来一些问题,主要分为两类:a.使用寿命,b.读写速度。EEPROM可以单字节读写,而...转载 2019-07-17 18:27:47 · 1141 阅读 · 0 评论 -
单片机的非OS的事件驱动
Part 1 前言 很多单片机项目恐怕都是没有操作系统的前后台结构,就是main函数里用while无限循环各种任务,中断处理紧急任务。这种结构最简单,上手很容易,可是当项目比较大时,这种结构就不那么适合了,编写代码前你必须非常小心的设计各个模块和全局变量,否则最终会使整个代码结构杂乱无序,不利于维护,而且往往会因为修改了某部分代码而莫名其妙的影响到其他功能,而使调试陷入困境。 改变其中局...转载 2019-07-19 13:02:29 · 1978 阅读 · 0 评论 -
LCD点阵液晶多级菜单设计
LCD点阵液晶数据结构体,能实现多级菜单,翻页,相关控件。 typedef struct { uint8 nCurrIndex; /* current menu Index */ uint8 noKeyIndex; /* press "cancel" key and its operate */ uint8 okKeyIndex; /* p...原创 2019-07-18 11:54:57 · 4065 阅读 · 0 评论 -
MPC8309调试笔记
1 网络驱动注意点:1.1 phy物理地址。1.2 MII、RMII。MII配置UCC的RX、TX时钟RMII配置UCC的TX时钟1.3 时钟配置(CMX Registers)。1.4 MII 晶振 25M,RMII 晶振 50M2 MPC8309只有1个GTM3 烧写MPC8309-TWR板程序,BMS = 1norflash最开始地址处写入配置字,最后1M开始地址处写入程序。...原创 2019-07-18 08:47:29 · 1527 阅读 · 0 评论