自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

只要思想不滑坡,想法总比问题多。

C/C++、MCU、物联网、嵌入式Linux、RT-Thread、QT、TCP/IP、数据结构、设计模式。

  • 博客(215)
  • 资源 (1)
  • 收藏
  • 关注

原创 一个严谨的STM32串口DMA发送&接收(1.5Mbps波特率)机制

本文描述串口DMA收/发机制设计,及STM32串口DMA收/发实现。

2020-09-03 23:54:58 43418 180

原创 一个NB-IoT/4G模组的AT拨号联网流程

在各类物联网应用中,NB或者4G网络是常见的通信介质,其最大的优势是可以借助现有的移动基站,无需额外建立基站,所以广泛应用在三表(水表、电能表、天然气表)无线抄表中。通常情况下,对于这类小流量的数据,是通过串口(UART)与NB或者4G模组通信,以AT指令的方式进行数据交互和命令控制。

2020-03-21 00:28:03 11227 6

转载 持续更新,值得推荐的c/c++开源框架与库

框架Apache C++ Standard Library : 是一系列算法,容器,迭代器和其他基本组件的集合ASL : Adobe源代码库提供了同行的评审和可移植的C++源代码库。Boost : 大量通用C++库的集合。BDE : 来自于彭博资讯实验室的开发环境。Cinder : 提供专业品质创造性编码的开源开发社区。Bxxomfort : 轻量级的,只包含头文件的库,将C++ 11...

2019-07-03 22:08:07 1237

原创 一个适用各类场合的Makefile模板

1.写在前面  对于Windows下开发,很多IDE都集成了编译器,如Visual Studio,提供了“一键编译”,编码完成后只需一个操作即可完成编译、链接、生成目标文件。Linux开发与Windows不同,Linux下一般用的的gcc/g++编译器,如果是开发ARM下的Linux程序,还需用到arm-linux-gcc/arm-linux-g++交叉编译器。Linux下也可以实现“一键编译...

2019-05-29 23:57:25 4573 1

原创 【组件】onewire(单总线)抽象

1.前言   onewire(单总线)是DALLAS公司推出的外围串行扩展总线技术总线,顾名思义,它是采用一根信号线进行通信,即传输时钟信号又传输数据,而且能够进行双向通信,具有节省I/O口线、资源结构简单、成本低廉、便于总线扩展和维护等诸多优点。常用到单总线的器件,一般是稳定传感器、EEPROM、唯一序列号芯片等,如DS18B20、DS2431。   在使用单总线时,往往很少CPU会提供硬件...

2018-07-22 15:04:11 13577 6

原创 【组件】模拟spi抽象

1.前言接上一篇“spi抽象/硬件spi”博客。上一篇文章主要描述spi总线抽象过程和使用方式,同时实现stm32f1硬件spi,及spi抽象接口函数的使用。对于一些特殊mcu没有硬件spi,或者硬件spi不够用的情况下,可以用io翻转方式模拟spi总线。模拟spi实现,只需将硬件spi部分替代即可,上层代码或者器件外设驱动程序无须更改,方便移植。模拟spi与之前一篇“i2c抽象/...

2018-01-14 22:55:20 3021 10

原创 【组件】spi抽象/硬件spi

1.写在前面spi(Serial Peripheral Interface)即串行外设接口。与i2c一样,spi也常用外设设备通信的总线,从事嵌入式开发必不可少的掌握。根据本人以往的经历,对spi进行总结(主要是MCU范畴,Linux已有成熟的驱动设备),主要目的及实现:a)spi总线与spi设备分离;b)快速使用新的硬件spi或者模拟spi;c)方便移植spi总线设备及spi外设...

2018-01-07 23:09:16 13289 6

原创 【组件】通用环形缓冲区模块

写在前面环形缓冲区是嵌入式应用(医疗电子、消费电子、工控)中常用的数据结构模型,如音视频流、通信总线数据收发等。一些操作系统、第三方库都提供现成的环形缓冲区接口API,性能和安全性都有保障,多线程访问互斥机制,空内存访问保护等。1.基本原则先进先出(FIFO),重复使用。2.实现原理环形缓冲区,顾名思义就是一段循环使用的一段内存。通过写指针向“空白内存”(未写入过或者已经被读出...

2017-12-26 15:23:53 6934 17

原创 【组件】i2c抽象/模拟i2c

1.写在前面i2c总线是由PHILIPS公司开发的一种简单、双向二线制同步串行总线。关于i2c的使用,并不陌生,C51、ARM、MSP430等,都基本集成硬件i2c,或者不集成i2c的,可以根据总线时序图使用普通IO口翻转模拟一根i2c总线。对于当下流行的stm32饱受诟病的硬件i2c,相信很多人都是使用模拟i2c。模拟i2c的源码比较多,大多都是大同小异,对于各类例程,提供的模拟i2c似乎都...

2017-12-23 09:27:26 14333 2

原创 STM32H7 硬件CRC实现常用CRC算法

利用STM32H7 CRC硬件模块,基于HAL库实现常用的CRC算法,替换软件CRC。

2023-09-25 23:30:23 1109

原创 正交编码器溢出处理

16位正交编码定时器溢出处理。

2022-12-18 18:42:54 3669 1

原创 STM32H7xx 串口DMA发送&接收(LL库)

LL库下STM32H7 串口DMA收发实现

2022-06-04 11:47:24 9112 1

原创 嵌入式开发常用到的在线工具

嵌入式开发常用的在线工具

2022-03-27 23:37:36 5999

原创 Keil AC5/Keil AC6/IAR指定数据绝对存储地址

Keil和IAR编译过程指定数据存储绝对地址

2022-03-26 15:48:41 5360 5

原创 通过sysinfo获取Linux系统状态信息

sysinfo是获取linux系统状态信息的利器。

2021-07-31 22:25:37 3362

原创 C++ RAII典型应用之lock_guard和unique_lock模板

RAII典型应用之lock_guard和unique_lock模板的使用。

2021-05-18 20:03:42 1060 4

原创 【代码质量】RAII在C++编程中的必要性

RAII(Resource Acquisition Is Initialization),中文可直译为资源获取即为初始化,是C++语言的一种管理资源、避免泄漏的方法标准。

2021-05-15 22:07:28 552

原创 【RT-Thread】TCA9534 8位I/O扩展器驱动软件包

基于RT-Thread PCA9534 8位I/O扩展驱动软件包。

2021-04-30 18:01:06 1373 2

原创 24系列EEPROM/FRAM通用驱动库移植到RT-Thread

24系列(i2c接口)EEPROM/FRAM通用驱动库移动到RT-Thread。

2021-04-13 23:59:16 1523

原创 【RTD】二分法查找和分段线性插值算法在RTD中应用

二分法查找和分段线性插值算法在RTD中的典型应用。

2021-03-16 00:30:21 1804 7

原创 【RTD】AD7793驱动程序

AD7793完整驱动程序,支持两线、三线、四线RTD。

2021-03-10 23:59:36 5085 7

原创 【RTD】AD7793两线式铂电阻PT100/PT1000应用

两线式RTD是低成本的检测方案,适用于检测精度不高、导线长度较短的场合。

2021-03-07 22:17:54 3327

原创 【RTD】AD7793四线式铂电阻PT100/PT1000应用

四线式RTD与AD7793应用,可以完全消除导线内阻的影响。

2021-03-07 10:57:39 5769 8

原创 【RTD】AD7793三线式铂电阻PT100/PT1000应用

本文介绍RTD驱动芯片AD7793 与三线RTD(PT100/PT1000)连接使用方法。

2021-03-06 18:36:58 10421

原创 【RTD】铂电阻测温原理与具体方法

使用铂电阻作温度测量传感器,有必要了解铂电阻测温原理。

2021-03-05 23:57:15 13152 2

原创 open函数簇与fopen函数簇区别和用法

linux系统下,可以通过open函数簇和fopen函数簇访问文件,两种访问方式具有不同的特性和访问效率。

2021-02-27 22:15:32 756

原创 C++中的二阶构造函数

C++二阶构造够确保创建对象的完整性,避免半成品对象引入bug。

2021-01-27 00:18:39 596

原创 利用tldr工具再也不怕记不住Linux命令

tldr是一个开源的Linux命令快速查询工具,具有高效、精简特点。

2021-01-19 23:54:24 4054

原创 【RT-Thread】SGM706独立看门狗软件包

基于RT-Thread SGM706独立看门狗软件包。

2021-01-06 23:31:57 2807

原创 【Linux应用编程】一个异步信号处理引起死锁问题的思考

Linux信号异步处理引起的死锁问题思考,及编写安全信号回调函数的注意事项。

2020-12-29 20:40:35 1083 3

原创 【12月】RT-Thread VL53L0X TOF传感器驱动实现

本文描述VL53L0X TOF传感器对接RT-Thread sensor框架的具体实现过程。

2020-12-20 00:31:37 2853 11

原创 【Linux驱动编程】regmap实例——bmp180驱动

本文基于regmap重写bmp180驱动程序。

2020-12-14 23:54:19 732

原创 【Linux驱动编程】regmap框架模型应用详解

regmap是在 Linux 内核为减少慢速 I/O 驱动上的重复逻辑,提供一种通用的接口来操作底层硬件寄存器的模型框架,简化驱动开发,提高访问效率。

2020-11-30 23:59:24 5108

原创 C/C++解析tar文件

tar文件是将多个文件打包,以512字节块存储,并在每个文件前增加一个文件头描述信息。通过tar文件的存储格式,使用C/C++解析tar文件。

2020-11-22 00:00:03 3845

原创 设计模式回顾——原型模式(C++)

原型模式(Prototype Pattern),是一种创建型设计模式,指的是以原型实例指定待创建对象的种类,并通过拷贝(克隆)原型对象来创建新的对象。

2020-11-11 18:14:13 792

原创 基于STM32标准库移植RT-Thread Nano

本文描述基于STM32F1标准库移植RT-Thread Nano。

2020-11-05 23:59:16 5851

原创 RK3399—Ubuntu16.04设置静态IP

本文描述RK3399平台 Ubuntu16.04设置静态IP方法。

2020-10-31 23:59:40 2074 2

原创 设计模式回顾——观察者模式(C++)

观察者模式(Observer Pattern),指的是定义一种“一对多”的依赖关系,使得多个观察者对象同时监听某一主题对象,在主题对象的状态发生变化时,通知所有依赖该对象的观察者。

2020-10-29 17:49:11 905

原创 设计模式回顾——模板模式(C++)

模板模式(Template Pattern),指的是定义一个抽象(算法)模板结构父类,具体实现方法由子类实现。模板模式是行为型设计模式中使用较为广泛的设计模式。

2020-10-24 18:22:53 2220 1

原创 使用memtester工具对嵌入式Linux内存压力测试

memtester是一款比较经典而且使用广泛的内存检测工具,具备使用简单、易于移植、检测结果可靠性好的特点。

2020-10-21 00:06:21 12530 9

SecureCRT 8.0.rar

SecureCRT 8.0破解版: 1、带破解说明; 2、个人认为比旧版本要好使,Linux开发调试、远程登录等。 3、没有积分下载的私信本人。

2019-08-20

空空如也

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

TA关注的人

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