自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(202)
  • 资源 (24)
  • 收藏
  • 关注

原创 C语言实现设计模式—目录

文章目录单例模式命令模式策略模式命令模式+策略模式混合使用责任链模式(事件触发机制)订阅发布模式(订阅者/发布者)记录自己对设计模式的理解和使用。单例模式C语言-单例模式使用https://blog.csdn.net/Set_Mode/article/details/100591193命令模式C语言-命令模式使用策略模式C语言-策略模式使用命令模式+策略模式混合使用C语言-命令模式+策略模式混合使用责任链模式(事件触发机制)C语言-责任链模式订阅发布模式(订阅者/发布者)C语言-

2020-08-19 18:04:05 2437

原创 C语言实现设计模式-策略模式+命令模式组合使用

文章目录使用环境介绍使用策略模式使用命令模式使用环境介绍当主设备和从设备使用串口信息交互通讯,根据串口协议,实现对从设备的控制访问。使用情况1:当主设备发送板卡信息获取、读取数据命令时,希望获取从设备的数据信息,从设备应答操作。使用情况2:当主设备发送采集命令时,从设备收到但不进行回复,不应答操作。使用策略模式首先识别命令,对需要进行应答的命令进行判断,区分动作使用命令模式...

2020-08-02 11:19:50 3193

原创 【RV1126 学习】SDK/ U-Boot/kernel/rootfs 编译学习

对RV1126的编译过程学习总结

2024-01-13 00:14:45 2171

原创 【基础工具篇使用】Windows环境下瑞芯微开发工具的安装和使用

瑞芯微的工具使用,烧录

2024-01-09 22:59:34 1970 1

原创 【基础工具篇使用】ADB 的安装和使用

ADB工具的基础使用

2024-01-08 23:31:11 1898

原创 【基础工具篇使用】VScode 远程 Ubuntu 系统 进行使用

利用VScode 进行远程开发,作为基础的开发工具使用

2024-01-07 22:20:29 2555

原创 【成功解决】多线程使用FFTW库导致的内存问题

使用FFTW库,然后应用程序使用存在多线程的情况下,会出现信号11 或者 信号6等一些内存问题。针对多线程FFTW的不可重入函数加入互斥锁保护。简单的说就是针对多线程使用的场景,有2种方案。因为很多函数接口都是不可重入的。

2023-10-26 09:13:18 2494

原创 【成功解决】cJSON解析crc校验不过问题

cJSON数据解析问题

2023-02-09 10:58:38 3509 1

原创 【成功解决】Git 如何在自己的分支上更新主分支代码

git在自己的分支上更新主分支代码

2023-01-14 11:41:38 5154

原创 【成功解决】gitlab的密钥配置

gitliab使用

2022-12-29 15:31:44 3171

原创 【代码大全】——高质量的子程序

【代码大全】——高质量的子程序

2022-10-19 22:41:16 1898

原创 【成功解决】实现Ubuntu20,04 与Windows之间的复制粘贴

解决Ubuntu与Windows之间的复制粘贴问题

2022-10-05 15:58:06 8201 4

原创 GPIO_Mode_AF_PP 与 GPIO_Mode_Out_PP区别

关于GPIO 输出区别

2022-08-02 13:39:53 10174

原创 文件打开模式区别

文件打开模式区别

2022-06-20 08:37:48 1162

原创 关于 sprintf & snprintf 函数使用

文章目录sprintf & snprintf 函数使用使用 sprintf 的常见问题strncpy, strncat和snprintf的区别sprintf & snprintf 函数使用sprintf 函数使用在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于 sprintf 跟 printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致 sprintf 比 printf 有用得多sprin

2022-02-17 11:50:42 1019

原创 RTOS—文件打开、删除操作细节研究

文章目录RTOS—文件打开、删除操作环境描述操作1:尝试多次打开一个文件,观察现象结果操作2:尝试多次打开文件,未进行关闭操作进行删除文件操作3:尝试打开10次文件,关闭9次操作,进行删除文件RTOS—文件打开、删除操作环境描述RTOS:RT-Thread 操作系统File System: Yaffs2操作1:尝试多次打开一个文件,观察现象结果void file_unlink_test(void){#define RH_PATH "/rh1200/test/file.dat"#define

2021-12-30 15:19:11 497

原创 【设计模式项目实战】串口协议总线管理模型实现

文章目录功能模型的需求设计思路-UML模型关系图判断方法-是否触发,是否执行功能实现-模块介绍数据类型串口总线对象和接口模块设计串口协议对象和接口设计接口方法添加-数据驱动编程对外提供输出接口总结功能模型的需求设计一款支持多个串口协议模型管理,方便业务的扩展,尽可能的使得模块可以“高内聚低耦合”。设计思路-UML模型关系图将每一个协议的数据方法统一管理起来,采用“模糊对象”判断,即不对具体的协议判断进行判断,将协议对象抽象出来进行管理。判断方法-是否触发,是否执行第一步:检查是哪种协议触发,满

2021-12-18 23:46:23 2285

原创 关于-sscanf() 函数使用

文章目录linuxC - sscanf() 函数使用参数返回值举例linuxC - sscanf() 函数使用int sscanf(const char *str, const char *format, ...)参数参数str为要读取数据的字符串;format为用户指定的格式;… 为变量,用来保存读取到的数据返回值成功则返回参数数目,失败则返回-1,错误原因存于errno 中。sscanf()会将参数str 的字符串根据参数format(格式化字符串)来转换并格式化数据(格式化字符串

2021-12-05 11:36:16 2771

原创 关于 -access 检查用户对文件的权限

linux -access 检查用户对文件的权限函数功能access函数用于检查用户/进程对一个文件的权限情况,包括读、写、执行的权限。因为Linux内核是根据进程的有效用户ID和有效组ID来决定一个进程具有某个文件的访问权限。因此,在编写调整用户ID的程序时,在访问一个文件之前必须明确检查该用户是否拥有对此文件的访问权限。描述#include <unistd.h>int access(const char *pathname, int mode);pathname 是文件

2021-11-29 19:41:39 4840

原创 关于-open与fopen的区别

文章目录Linux--open与fopen的区别open()举例:fopen举例open和fopen的区别:来源适用范围文件IO层次总结Linux–open与fopen的区别open()#include <stdio.h>int open(const char *path, int access,int mode) path 要打开的文件路径和名称 access 访问模式,宏定义和含义如下:

2021-11-27 11:40:52 5135

原创 关于-alarm函数使用

linux-alarm函数[1] 引用头文件:#include <unistd.h>; [2] 函数标准式:unsigned int alarm(unsigned int seconds); [3] 功能与作用:alarm()函数的主要功能是设置信号传送闹钟,即用来设置信号SIGALRM在经过参数seconds秒数后发送给目前的进程。如果未设置信号SIGALARM的处理函数,那么alarm()默认处理终止进程。 [4] 函数返回值:如果在seconds秒内再次调用了alarm函数设

2021-11-23 20:01:48 1599

原创 关于-linux- pthread_attr_destroy 使用理解

linux - pthread_attr_destroy 使用问题:为何退出thread或者创建thread失败时,需要调用pthread_attr_destroy?pthread_t a_thread;res = pthread_create(&a_thread, &thread_attr, pfThreadMain, pArg);if (res != 0){ perror("Thread SendCmd creation failed"); return RET_ERR;

2021-11-23 15:11:50 10357 3

原创 关于-变长数组(柔性数组) 的使用

C语言变长数组(柔性数组) struct中uint8_t data[0]的用法零长度数组介绍typedef struct { cp_head_t header; uint8_t data[0];}__attribute__((packed)) cp_frame_t;首先对 0长度数组, 也叫柔性数组 :用途 : 长度为0的数组的主要用途是为了满足需要变长度的结构体用法 : 在一个结构体的最后, 申明一个长度为0的数组, 就可以使得这个结构体是可变长的. 对

2021-11-23 10:09:12 7746

原创 linux ssh 介绍

文章目录linux ssh 介绍ssh服务简介安装SSH服务Step1 安装openssh-serverStep2 启动SSH服务Step3 查看SSH状态linux ssh 介绍ssh服务简介SSH:Secure Shell (Protocol)SSH是一种网络安全解决方案(是一种协议,而不是一种产品):计算机每次发送数据时,SSH就会自动对数据进行加密,当数据到达目的地时,SSH会自动给信息解码;整个过程对外是透明的(会话加密 );SSH具有C/S体系结构;SSH特点:透明、公钥认证、保

2021-11-23 09:05:57 1726

原创 【新手入门】Gitlab的使用

Gitlab的使用svn与git对比.svngit分布式不是是在线阅读不支持不仅支持,而且可以在线编辑存储方式按文件按元数据完整性一般优离线工作日志都没法看完全没问题分支分支是一个完整的目录随意开辟无限个分支svn与git工作流程svn工作流程git工作流程从上图中可以看出,svn是集中式的,git是分布式的。仔细看图会发现其实git的工作模式下每个开发者(安装了git客户端)的电脑就等同于传统的一个svn服务器

2021-11-22 17:25:27 1834

原创 pb3-protobuf 格式-上传 网络信息内容

pb3-protobuf 格式-上传 网络信息内容message CollectorInfo{ string Code = 1; //采集器编码05600001、10000001 CollectorStyle Type = 2; //采集器类型RH560A、RH1000 BoardStyle BoardType = 3; //采集板类型 NetStyle NetType = 4;

2021-11-22 14:36:09 1234

原创 Python3 循环语句

Python3 循环语句本章节将为大家介绍 Python 循环语句的使用。Python 中的循环语句有 for 和 while。Python 循环语句的控制结构图如下所示while 循环Python 中 while 语句的一般形式:while 判断条件(condition): 执行语句(statements)……同样需要注意冒号和缩进。另外,在 Python 中没有 do…while 循环。num = 100sum = 0Counter = 1while Coun

2021-11-21 20:48:34 171

原创 Python3 函数

Python3 函数函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数定义一个函数你可以定义一个由自己想要功能的函数,以下是简单的规则:函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串—用于存放函数

2021-11-21 20:47:25 89

原创 Python3 循环语句

Python3 循环语句本章节将为大家介绍 Python 循环语句的使用。Python 中的循环语句有 for 和 while。Python 循环语句的控制结构图如下所示while 循环Python 中 while 语句的一般形式:while 判断条件(condition): 执行语句(statements)……同样需要注意冒号和缩进。另外,在 Python 中没有 do…while 循环。num = 100sum = 0Counter = 1while Coun

2021-11-21 20:46:24 625

原创 Python3 条件控制

Python3 条件控制Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。可以通过下图来简单了解条件语句的执行过程:if 语句Python中if语句的一般形式如下所示:if condition_1: statement_block_1elif condition_2: statement_block_2else: statement_block_3如果 “condition_1” 为 True 将执行 “st

2021-11-21 20:45:54 113

原创 Python基础语法

Python3 基础语法标识符第一个字符必须是字母表中字母或下划线 _ 。标识符的其他的部分由字母、数字和下划线组成。标识符对大小写敏感。python保留字保留字即关键字,我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有import keywordkeyword.kwlist['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await',

2021-11-21 20:38:36 108

原创 Python3 基础语法

文章目录Python3 基础语法标识符python保留字行与缩进数字(Number)类型字符串(String)print 输出Python3 基础语法标识符第一个字符必须是字母表中字母或下划线 _ 。标识符的其他的部分由字母、数字和下划线组成。标识符对大小写敏感。python保留字保留字即关键字,我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有import keywordkeyword.kwlist['False',

2021-11-21 20:33:49 95

原创 Python3 基本数据类型

Python3 基本数据类型Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。等号(=)用来给变量赋值。等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。counter = 100 # 整型变量miles = 1000.0 # 浮点型变量name = "runoob" # 字符串print(counte

2021-11-21 20:30:44 3724

原创 【彻底弄懂】linux下的条件变量使用

linux下的条件变量使用条件变量条件变量是线程可用的另一种同步机制。条件变量用于自动阻塞线程,知道某个特定事件发生或某个条件满足为止,使用条件变量主要包括两个动作:一个线程等待某个条件满足而被阻塞;另一个线程中,条件满足时发出“信号”。条件变量是用来等待线程而不是上锁的,条件变量通常和互斥锁一起使用。条件变量之所以要和互斥锁一起使用,主要是因为互斥锁的一个明显的特点就是它只有两种状态:锁定和非锁定,而条件变量可以通过允许线程阻塞和等待另一个线程发送信号来弥补互斥锁的不足,所以互斥锁和条件变量

2021-11-20 14:53:12 1949

原创 【彻底弄懂】linux中pthread_detach()的作用

文章目录linux中pthread_detach()解析linux中pthread_detach()解析使用pthread_create创建的线程有两种状态:joinable和unjoinable。默认是joinable 状态,可以通过这个api 来获取其状态pthread_attr_getdetachstate另外可以通过如下代码来设置为状态joinable 还是 unjoinablepthread_attr_t attr;pthread_attr_init(&attr);pthrea

2021-11-20 14:49:51 14349

原创 【新手入门】MQTT 协议开发入门

MQTT 协议开发入门[MQTT]是一个客户端-服务器发布/订阅消息传输协议. 它轻量,开放,简单, 并易于实现.这些特性,使它在许多情况下适合使用, 包括受限的环境中,如机器对机器(M2M)之间通信和物联网(IoT)环境中,需要体积小的代码和/或网络带宽是昂贵的。协议特点此协议运行于TCP/IP以上, 或在其他网络协议,提供有序、 无损、 双向网络连接. 它的功能包括:使用发布/订阅消息模式提供一个一对多的消息分发,解除了应用程序之间的耦合。对负载内容屏蔽的消息传输。有三种消息传递

2021-11-20 14:02:04 6012

原创 【读书笔记】UML+OOPC嵌入式C语言开发精讲-认识对象

文章目录认识对象自然界的对象( Natural Object)软件对象(Software Object)对象与函数对象与类构造器(Constructor)认识对象自然界的对象( Natural Object)对个人而言,所认识的东西,皆是“对象”(object)。一旦认识某样东西,就能说出其特点,并与别的对象进行比较。其特点包括:对象的特征或属性( Attribute)对象的行为( Behavior)了解东西的特征和行为,就表示对该事物有些认识和概念( Concepts)了。尽管有些东西并不

2021-02-28 22:30:16 524 2

原创 C语言输出正弦波形

文章目录int main(void){ int i; int ft = 5; /* 周期 hz */ int fs = (20*2.56); /* 采样频率*/ /* generate data */ uint32_t data_len = (4*1024); float *input_data = (float *)malloc(data_len * sizeof(float)); if (NULL == input_data) { printf("%s(

2020-09-15 17:08:06 4260

原创 【成功解决】warning: #1035-D: single-precision operand implicitly conve

文章目录keil5 编译提示 single-precision operand implicity converted to double-precesion,意思是单精度运算隐式转换成双精度运算了,在浮点数字后面加上f,编译警告就会消失。

2020-09-14 14:05:41 17804 1

原创 工作总结—空闲中断关闭使用

文章目录问题描述问题描述使用LPUART1 作为接收中断数据,同时使用空闲中断,关闭中断的操作,只关闭的LPUART1 的接收中断,没有关闭空闲中断,导致中断还一直进去,if (uart->UartHandle.Instance == LPUART1) { __HAL_UART_DISABLE_IT(&uart->UartHandle, UART_IT_IDLE);} ...

2020-09-02 18:35:32 512

DS-000189-ICM-20948-v1_1_89_translate.pdf

DS-000189-ICM-20948-v1_1_89_translate,ICM-20948翻译的中文数据手册,仅供参考

2019-10-09

一个程序员应该有的编程修养.pdf

编程修养 有需要的可以下载看看,内容还不错。 编程修养 有需要的可以下载看看,内容还不错。

2019-08-19

用C-语言实现面向对象编程.pdf

用 C 语言实现面向对象编程,我曾经在嵌入式控制系统工作过,苦于嵌入式系统编程一直是 C 语言,而没法用 C++或其他高级 语言的面向对象方法编程。经过研究生的学习和探索,偶然间发现高焕堂老师写 OOPC(面向对象 C 编程),感觉不错。遗憾的是上面没有提供继承的方法。根据本人的研究,在高老师的基础上,提出一 种可行而且结构明了的继承实现方法。至此,C 的 OO 编程中的封装、继承、多态都全实现了。现在 本人将其总结如下,希望对大家有帮助。

2019-08-13

Test1-20190803.rar

使用STM32H7单片机, Modbus RTU 做主机的测试程序,可成功读取模拟的采集数据,方便程序移植

2019-08-08

MODBUS模拟软件.rar

ModScan32 和 Modsim32 用来调试Modbus 非常方便 是学习的好工具

2019-08-05

OO命令解析器-工程源码.rar

C 语言对象化设计实例 — 命令解析器

2019-06-30

Linux设备模型之input子系统详解.rar

Input 子系统驱动架构分析,很详细的分析了Input 子系统驱动架构

2019-06-26

Exynos4412数据手册文档

Exynos4412手册芯片手册完整版 ,Exynos4412手册2芯片用户手册,完整版本,50多兆,共计2858页

2019-05-31

并发程序设计L5.rar

华清远见培训资料,内容包括多进程编程,进程间通信机制,多线程编程,多线程间的同步和互斥机制等。

2019-05-21

MPU6050中文资料.doc

MPU6050中文资料.doc

2019-05-13

深入浅出Linux环境编程(进程基础+IPC+POSIX+线程同步与互斥)配套资料

深入浅出Linux环境编程(进程基础+IPC+POSIX+线程同步与互斥)配套资料

2019-05-06

华清远见-linux文件IO培训资料

华清远见-linux文件IO培训资料,介绍关于IO的基本操作,有配套的资料

2019-05-05

嵌入式技术与应用丛书 汽车电子KEA系列微控制器 基于ARM Cortex-M0+内核 [王宜怀,李跃华著][电子工业出版社].pdf

嵌入式技术与应用丛书 汽车电子KEA系列微控制器 基于ARM Cortex-M0+内核 [王宜怀,李跃华著][电子工业出版社][2015.08][355页][13839627].pdf

2019-04-08

飞思卡尔MC9S12(X)开发必修课__冯冲,段晓敏编著_北京:北京航空航天大学出版社

飞思卡尔MC9S12(X)开发必修课__冯冲,段晓敏编著_北京:北京航空航天大学出版社

2019-04-08

AnalogDevices.ADuCM36x_DFP.1.0.0.pack

AnalogDevices.ADuCM36x_DFP.1.0.0.pack Keil 里面添加ADucM360型号

2019-04-04

STM32 AD7124

STM32F4 + SPI调试AD7124 程序参考,需要的可以下载。

2019-03-29

AD7124参考程序

stm32通过软件SPI来驱动,可以直接抑制,能够正常读写

2019-03-29

物联网全栈教程PDF

关于物联网的一些参考文档,有一定的学习价值,需要的可以下载

2019-03-29

STM32F10x_StdPeriph_Driver_3.5.0(中文版)

STM32F10x_StdPeriph_Driver_3.5.0(中文版) STM32开发参考

2019-03-29

VS2010之MFC串口通信的编写教程

VS2010之MFC串口通信的编写教程,适合初学者学习参考。

2019-03-29

AD7124英文手册

AD7124-8是一款适合高精度测量应用的低功耗、低噪声、完整模拟前端。 该器件内置一个低噪声24位Σ-Δ型ADC,可配置为提供8个差分输入或15个单端或伪差分输入。 片内低噪声级确保ADC中可直接输入小信号。 AD7124-8的主要优势之一是用户可灵活使用三种集成功率模式。 功耗、输出数据速率范围和均方根噪声可通过所选功率模式进行定制。 该器件还提供多个滤波器选项,确保为用户带来最大的灵活性。

2019-03-29

AD7124中文手册

AD7124-8是一款适合高精度测量应用的低功耗、低噪声、完整模拟前端。 该器件内置一个低噪声24位Σ-Δ型ADC,可配置为提供8个差分输入或15个单端或伪差分输入。 片内低噪声级确保ADC中可直接输入小信号。 AD7124-8的主要优势之一是用户可灵活使用三种集成功率模式。 功耗、输出数据速率范围和均方根噪声可通过所选功率模式进行定制。 该器件还提供多个滤波器选项,确保为用户带来最大的灵活性。

2019-03-29

空空如也

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

TA关注的人

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