![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
嵌入式从浅到深
嵌入式干货
行循自然-kimi
擅长单片机、linux、Qt、音视频、C++、OSG、点云库等。
展开
-
嵌入式–实现通用的日志
嵌入式设备中的业务层,一般都采用输出日志来作为调试手段。这里作为参考提供给新手们,希望对你们有所帮助。原创 2022-06-30 15:50:01 · 435 阅读 · 0 评论 -
嵌入式–实现最简单shell
实现一个shell难不难,本人曾经参考过很多开源的,都觉得他们的代码量比较多。下面我们将实现一个史上最简单的shell。最有两个源文件,代码量也非常少,同时也是拿来就可以用 ,shell.c 中删减了部分内容,移植好就可以用。......原创 2022-06-29 09:30:43 · 694 阅读 · 0 评论 -
嵌入式–滑动平均滤波算法
滑动平均值滤波是指先在RAM中建立一个数据缓冲区,依顺序存放N个采样数据,每采进一个新数据,就将最早采集的那个数据丢掉,而后求包括新数据在内的N个数据的算术平均值。这样,每进行一次采样,就可计算出一个新的平均值,从而加快了数据处理的速度。 ...原创 2022-06-20 17:10:50 · 394 阅读 · 0 评论 -
嵌入式–如何解析通信协议包
嵌入式软件中我是这样来解析协议帧的。用状态机来解析,具体实现请看代码。通信协议桢格式及解析方式。原创 2022-06-20 16:30:47 · 631 阅读 · 0 评论 -
嵌入式--环形缓冲在USART驱动中的运用
嵌入式–环形缓冲在USART驱动中的运用以下代码是基于stm32L475芯片编写的USART驱动,使用HAL库。其他方式也类似。秉承拿来即可使用的原则,直接贴代码。头文件 bsp_usart.h#ifndef __BSP_USART_H#define __BSP_USART_H#include <stdbool.h>#include <stdint.h>#include "stm32l4xx.h"/* extern variables -------------原创 2021-08-17 14:08:08 · 333 阅读 · 0 评论 -
嵌入式--需要懂的网站
嵌入式–需要懂的网站1.选型与芯片手册快速查找A.半导小芯 :半导小芯-芯片查询工具_芯片替代查询_数据手册查询_规格书查询_datasheet查询_IC查询 (semiee.com)平时查找芯片手册,相当方便,效率相当高,比在其他网站查看数据手册要快得多。B.立创商城:立创商城_电子元器件采购网上商城_领先的现货元器件交易平台-嘉立创电子商城 (szlcsc.com)种类齐全,价格及数据手册一目了然,原件、封装库直接下载即可使用,设计电路图、画PCB上上之选。电子工程师交流社区_电子发烧友原创 2021-08-06 01:00:08 · 1336 阅读 · 0 评论 -
嵌入式--需要懂的网站
嵌入式–需要懂的网站1.选型与芯片手册快速查找A.半导小芯 :半导小芯-芯片查询工具_芯片替代查询_数据手册查询_规格书查询_datasheet查询_IC查询 (semiee.com)平时查找芯片手册,相当方便,效率相当高,比在其他网站查看数据手册要快得多。B.立创商城:立创商城_电子元器件采购网上商城_领先的现货元器件交易平台-嘉立创电子商城 (szlcsc.com)种类齐全,价格及数据手册一目了然,原件、封装库直接下载即可使用,设计电路图、画PCB上上之选。电子工程师交流社区_电子发烧友原创 2021-08-06 00:58:15 · 994 阅读 · 0 评论 -
嵌入式--内存池
嵌入式–内存池直接上代码,自己体会。嵌入式设备,一般keil提供的堆很小,一般都不使用。使用内存池,自己可以调节内存大小。头文件 malloc.h#ifndef __MALLOC_H#define __MALLOC_H#include <stdint.h>#ifndef NULL#define NULL (0)#endif//内存参数设定.#define MEM_BLOCK_SIZE 32 //内存块大小为32字节#define MEM_MAX_SI原创 2021-07-30 15:42:35 · 640 阅读 · 0 评论 -
嵌入式--环形缓冲(2)
嵌入式–环形缓冲(2)不记得是哪位大神的github,当时自己写环形缓冲的时候,想找一些来参考,发现这两个环形缓冲同样好用,不管带OS或者裸机,用上这些模块,感觉代码就上了一个档次。头文件 ringbuffer.h/******************************************************************************@brief 环形缓冲区管理(参考linux/kfifo)*******************************原创 2021-07-29 11:35:34 · 161 阅读 · 0 评论 -
嵌入式--环形缓冲(1)
嵌入式–环形缓冲(1)感谢RT-Thread Development Team,这个模块是他们设计出来,很好用,一直用到现在,之所以取名为环形缓冲(1),还有一个取自于linux的环形缓冲,在下一篇文件粘贴出来,感谢大佬们。头文件 ringbuffer.h/*Copyright © 2006-2018, RT-Thread Development Team*SPDX-License-Identifier: Apache-2.0*Change Logs:Date Aut原创 2021-07-29 11:22:59 · 311 阅读 · 0 评论 -
嵌入式--轮询调度模块
嵌入式–轮询调度模块参考别人设计,感谢大佬的付出。此模块用在裸机中作为时间片调用,代码层次清晰,并非所有编译器支持,谨慎使用。头文件 module.h#ifndef __MODULE_H#define __MODULE_H#include <stdint.h>#include <stdbool.h>#ifdef __cplusplusextern “C” {#endif/* define variable -----------------------------原创 2021-07-29 11:14:26 · 506 阅读 · 0 评论 -
嵌入式--按键事件模块
嵌入式–按键事件模块从github那边淘来的,不知道是哪位大神写的,在此感谢他的付出。也不知道叫什么模块,暂且叫它按键事件模块吧。头文件 multi_button.h#ifndef MULTI_BUTTON_H#define MULTI_BUTTON_H#include “stdint.h”#include “string.h”//According to your need to modify the constants.#define TICKS_INTERVAL 5 //ms#原创 2021-07-29 11:01:55 · 672 阅读 · 2 评论 -
嵌入式--软件定时器
嵌入式–软件定时器从github那边淘来的,不知道是哪位大神写的,在此感谢他的付出。头文件 multi_timer.h#ifndef MULTI_TIMER_H#define MULTI_TIMER_H#include “stdint.h”#include “stddef.h”typedef struct Timer {uint32_t timeout;uint32_t repeat;void (timeout_cb)(void);struct Timer next;}Timer;原创 2021-07-29 10:44:47 · 499 阅读 · 0 评论 -
嵌入式--队列容器
嵌入式–队列容器直接上代码,自己体会。头文件 queue.h#ifndef _QUEUE_H#define _QUEUE_H#include <stdint.h>#include <stdbool.h>#ifdef __cplusplusextern “C” {#endiftypedef struct {void *base; /队列容器基地址/uint16_t element_size;原创 2021-07-29 10:21:54 · 158 阅读 · 0 评论 -
嵌入式-订阅发布资源池
嵌入式-订阅发布资源池直接上源代码,自己体会。头文件 topic.h#ifndef __TOPIC_H#define __TOPIC_H#include <stdint.h>#include <stdbool.h>#define TOPIC_POOL_MAX (40) // 主题资源池最大支持主题数typedef void (TopicCb)(void msg);bool Topic_Init(uint8_t topi原创 2021-07-29 10:14:49 · 374 阅读 · 0 评论