- 博客(44)
- 资源 (2)
- 收藏
- 关注
原创 【工具使用】FreeCAD基础使用
FreeCAD 是一个开源的计算机辅助设计(CAD)软件,主要用于 2D 和 3D 建模。本文主要讲述其基本应用。
2024-10-12 23:58:50
4086
原创 【知识分享】MQTT实战-使用mosquitto客户端连接emqx服务器
MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式的通信协议,旨在实现物联网设备之间的低带宽、高延迟的通信。MQTT协议设计简洁,使用TCP/IP协议进行通信,适用于各种网络环境,尤其适合在有限的网络带宽和不稳定的网络连接条件下进行通信。
2024-09-07 22:56:09
1529
原创 【知识分享】ubuntu22.04-ESP32环境搭建
要在Linux环境下进行开发工作,那就意味着需要在Linux环境中搭建ESP32适当的开发环境。本文主要是在官方搭建文档的基础上进行一些查缺补漏,适合新手阅读。
2024-08-20 22:40:39
1442
原创 【学习记录】从0开始的Linux学习之旅——字符型设备驱动及应用
Linux操作系统通常是基于Linux内核,并结合GNU项目中的工具和应用程序而成。Linux操作系统支持多用户、多任务和多线程,具有强大的网络功能和良好的兼容性。基于前面应用与驱动的开发学习,本文主要讲述如何在linux系统上把应用与驱动的链路打通,即在应用中使用新增的驱动接口。
2023-12-07 23:00:24
491
原创 【学习记录】从0开始的Linux学习之旅——应用开发(helloworld)
Linux操作系统通常是基于Linux内核,并结合GNU项目中的工具和应用程序而成。Linux操作系统支持多用户、多任务和多线程,具有强大的网络功能和良好的兼容性。本文主要讲述如何在linux系统上进行应用开发。
2023-12-02 00:00:38
2174
原创 【学习记录】从0开始的Linux学习之旅——驱动模块编译与加载
Linux操作系统通常是基于Linux内核,并结合GNU项目中的工具和应用程序而成。Linux操作系统支持多用户、多任务和多线程,具有强大的网络功能和良好的兼容性。本文主要讲述如何编译及加载linux驱动模块。
2023-11-27 00:03:55
1095
原创 【学习记录】从0开始的Linux学习之旅——编译linux内核
Linux操作系统通常是基于Linux内核,并结合GNU项目中的工具和应用程序而成。Linux操作系统支持多用户、多任务和多线程,具有强大的网络功能和良好的兼容性。本文主要讲述如何编译linux内核。
2023-11-21 23:44:17
721
原创 【工具使用】STM32CubeMX-定时器PWM配置-实现呼吸灯功能
定时器,顾名思义,就是定时的功能,定时器在单片机中算是除GPIO外最基本的外设。在ST中,定时器分为几种,基础定时器,通用定时器,高级定时器和低功耗定时器。其中定时器除了用作定时外,还可以用作输入捕获、比较输出、PWM输出等功能。本文重点介绍PWM输出的功能配置。脉宽调制(Pulse Width Modulation),简称PWM或P波,其实就是输出像方波一样的波型。其中PWM有几个比较重要的参数,一是频率(周期),二是占空比,三是幅值。
2023-11-13 23:22:49
5949
3
原创 【学习记录】Windows10蓝屏问题排查
蓝屏对于用户来讲是死机,但其实这是操作系统自身的一个功能,就是当出现一些不可恢复的错误时,系统会进入错误界面并将故障信息抛出。只是因为windows的错误界面大都是蓝色的,所以被称为蓝屏。既然有故障信息,那就可以根据故障信息顺藤摸瓜揪出幕后黑手。
2023-09-21 21:10:14
851
原创 【工具使用】STM32CubeMX-DMA配置(ADC+DMA 和 UART+DMA)
DMA(Direct Memory Access)直接内存访问,其实就是一个数据搬运工,负责将数据从一个地方搬运到另一个地方而不需要内核介入。STM32里的DMA支持从外设到内存,从内存到外设和从内存到内存三种传输方式。
2023-09-13 23:36:07
7790
4
原创 【知识分享】C语言应用-易错篇
C语言结构简洁,具有高效性和可移植性,因此被广泛应用。但究其历史的标准定义,C语言为了兼容性在使用便利性作出很大牺牲。在《C陷阱与缺陷》一书中,整理出大部分应用过程中容易出错的点,本文为《C陷阱与缺陷》的浓缩版本,想要更详细的解释,可以查看原著。
2023-08-30 15:38:40
2360
原创 【工具使用】STM32CubeMX-基础定时器配置
定时器,顾名思义,就是定时的功能,定时器在单片机中算是除GPIO外最基本的外设。在ST中,定时器分为几种,基础定时器,通用定时器,高级定时器和低功耗定时器。本文重点在于基础定时器的配置,其他类型的定时器在其他篇章中详细说明。
2023-08-07 22:07:42
6777
原创 【工具使用】STM32CubeMX-单ADC模式规则通道配置
无论是新手还是大佬,基于STM32单片机的开发,使用STM32CubeMX都是可以极大提升开发效率的,并且其界面化的开发,也大大降低了新手对STM32单片机的开发门槛。本文主要讲述STM32芯片的ADC的配置及其相关知识。
2023-07-10 23:43:14
4620
原创 【学习记录】win10 + ubuntu 22.04双系统安装
本文主要讲述在Windows 10环境下安装ubuntu22.04系统成为Win+ubuntu双系统的基本操作。本人自装了4次,在最后一次才算完美安装,中间遇到了不少坑,这里做了简化,避免大家重复踩坑。
2023-06-05 10:04:11
6513
原创 【工具使用】STM32CubeMX-GPIO配置
本文主要讲述STM32芯片的GPIO的配置及其相关知识。GPIO(全称General-purpose input/output)通用型输入输出,是单片机中使用最为广泛,也是最为简单的一种外设。
2023-06-04 15:04:31
3646
原创 【工具使用】STM32CubeMX-Uart配置 及 数据收发功能实现
本文主要讲述STM32芯片的Uart的配置及其相关知识。Uart因为其协议简洁及使用便捷,算是单片机中,除了GPIO这个外设外,出镜率最高的一个外设了。接下来就来看看如何使用STM32CubeMX初窥门径。
2023-05-02 16:06:04
7467
1
原创 【工具使用】STM32CubeMX-基础使用篇
无论是新手还是大佬,基于STM32单片机的开发,使用STM32CubeMX都是可以极大提升开发效率的,并且其界面化的开发,也大大降低了新手对STM32单片机的开发门槛。
2023-03-09 23:32:44
17538
9
原创 【工具使用】STM32CubeMX-CRC配置
本文主要讲述STM32芯片的CRC外设配置及CRC校验的一些基础知识。CRC也有一些软件算法的实现,但现在大部分芯片都内置了硬件算法,不用白不用,而且最近因为校验了几百k的文件,发现用软件校验速度是个瓶颈,所以还是试一下硬件CRC的速度(手册里写了只要4个指令周期就可以计算一次CRC)。
2023-03-08 08:56:13
3217
5
原创 【学习笔记】RA4M2-开发环境搭建+点灯
RA4M2开发板芯片型号R7F4M2AD3CFP,内核是ARM-M33,可以使用Keil工具进行开发,需要安装瑞萨的芯片包。烧录工具可以使用ST-Link和JLink(v9以上)。官方提供有Renesas RA Smart Configurator(简称为RASC)的工具,就是一种通过界面化的形式去配置外设初始化并自动生成代码的工具。本文是基于RASC工具配置,生成Keil工程,在RA4M2开发板上做点灯实验。
2023-02-05 15:01:27
1273
原创 【知识分享】C语言的设计模式——责任链、观察者
责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。观察者模式(Observer Pattern),则是当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。
2022-12-13 23:40:36
1246
2
原创 【知识分享】C语言应用——指针篇
C语言基础大部分都很好理解,唯一入手门槛比较高的,就数指针了。指针是C语言的一大特色,因为指针,C语言可以极度灵活,但也因为指针,C语言变得很不安全。指针就是一把双刃剑,用好了可以让你如虎添翼,用得不好,也会让你找问题的时候摸不着头脑。
2022-11-30 18:43:19
1948
1
原创 【知识分享】C语言中的设计模式——命令模式
命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。将实际含义功能映射为命令功能码进行表示,就像007只是一个间谍代号,而不是直接以名字进行区分。这样做的好处是可以统一编号管理。
2022-10-27 23:17:29
1701
原创 【工具使用】Keil5软件使用-进阶调试篇
本文面向已经懂得软件基本操作的职业老手,如果是未使用过该软件的小鲜肉,请移步基础篇。这里以STM32芯片为例对工具进行讲解,其他品牌的芯片在调试方面上可能存在差异。
2022-10-23 22:30:07
64518
18
原创 【学习笔记】ESP32-CAM初体验
在ESP32上移植过Modbus模块,能使用ESP32提供的编译工具编译、查错、烧录,但对编译工具链的原理并不了解。会使用Git,但也只基于简单的拉取,上传的使用。Linux系统之前没怎么用过,不大会操作。本文主要记录了第一次使用ESP32-CAM编译下载官方固件并正常使用的整个过程。
2022-09-27 10:23:40
4821
原创 【知识分享】C语言中的设计模式——解释器
解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。
2022-09-26 22:34:13
2072
1
原创 【知识分享】数据结构的应用——链表
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。由于在物理存储上可以以非连续状态存在,使得链表变得极其灵活。同时,链表就是C语言指针最完美的表现形式之一。常见的链表形式有两种,单向链表和双向链表。
2022-09-25 15:54:50
1920
原创 【知识分享】数据结构的应用——队列
对于数据结构,其实学过C语言的都不陌生,无外乎就队列、栈、二叉树等等这些。但其实对于初学者最困惑的不是数据结构是怎么样的,而是数据结构有什么用?我自己也是工作好几年后才体验到数据结构的快乐。所以本系列文章重点从应用场景切入,让大家理解数据结构的好处。
2022-09-21 08:39:25
2873
原创 【知识分享】C语言中的设计模式——适配器、装饰者和代理
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。此模式应用到C语言中,跟装饰者和代理这两种模式很接近,所以这里把这三个放一起讲,这三种模式在C语言里经常用到,叫做接口封装。
2022-09-12 17:08:12
1365
2
原创 【知识分享】C语言中的设计模式——状态模式
状态模式,其实就是平时所说的状态机,一般指的是FSM(Finite State Machine)有限状态机,分Moore和Mealy两种类型。但这里不讨论具体的状态机形式,只讲其核心思想。状态机分为状态切换和状态执行两部分,将行为和切换条件分离。
2022-09-11 16:43:40
2581
3
原创 【知识分享】C语言中的设计模式——单例模式
在23种设计模式中,单例模式属于创建型模式,在面向对象设计里是最简单的一种设计模式。在C语言设计中也很简单,实际就是创建一个唯一的变量实体,全局共享。
2022-09-06 07:03:56
1670
原创 【知识分享】C语言中的设计模式——表驱动模式
表驱动本身是强烈依赖于数组结构,可以是一维数组,也可以是多维数组,然后根据该数据的分布式结构进行数据索引。即使是使用一维数组,也是通过数组下标索引到对应的数据,从索引这个角度来看,是Key-Value这种键-键值的对应关系,像极了在表格中查找数据(通过行和列找到对应的格子),所以称之为表驱动。............
2022-09-01 08:37:35
3077
4
原创 【经验分享】金九银十招聘季,嵌入式软件面试经验
虽说金九银十,但其实很多大厂在7、8月就已经开始在学校里抢人了。那么如何在众多同龄人中脱颖而出呢?这里准备了一些面试相关注意事项,希望可以帮到大家。
2022-08-14 16:08:25
894
2
原创 【知识分享】C语言中的设计模式——开篇
从一个普通的码农成为架构师的第一步,就是要从代码搬运转化为有自己一套设计方法。架构设计的基石,就是要拥有一套可信手拈来的设计模式。
2022-07-31 15:28:35
4359
4
原创 【知识分享】知识链路-Modbus通信知识链路
本文主要是理顺Modbus相关的知识链路,从软件、硬件层面上梳理涉及的各类知识,并提供相应的知识传送门。
2022-07-31 15:28:02
1139
原创 【工具使用】Keil5软件使用-进阶工程配置篇
Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。本文面向已经懂得软件基本操作的职业老手,如果是未使用过该软件的小鲜肉,请移步基础篇。这里以STM32芯片为例对工具进行讲解,其他品牌的芯片在工程配置上可能存在差异。............
2022-07-31 15:27:37
41036
23
原创 【工具使用】Keil5软件使用-基础使用篇
Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。本文面向未接触过Keil的新手,如果是职场老手可跳过此篇。为了快速上手,本文会跳过很多细节及解释,如需要了解原理,请移步进阶篇。........................
2022-07-31 15:27:18
176175
11
原创 【工具使用】Keil软件包——知识宝藏库
很多时候我们做嵌入式开发,都需要根据不同的芯片去找各自的芯片手册,但其实这些文档手册在Keil的安装路径下都有。那今天我们就来挖掘一下,Keil的软件包里,还有什么宝藏。
2022-07-31 15:26:53
5452
原创 【工具使用】Modsim32软件使用详解
Modsim32是一个运行在windows下,作为在RTU或这ASCII传输模式下的MODBUS协议从设备的应用程序。用来模拟从设备(与之相对的是Modscan32,用于模拟主设备)。它可以接收主设备发送的指令报文,根据窗口配置的数据返回主设备需要的指令报文。...............
2022-07-31 15:26:21
25798
原创 【工具使用】Modscan32软件使用详解
Modscan32是一个运行在windows下,作为在RTU或这ASCII传输模式下的MODBUS协议主设备的应用程序。用来模拟主设备(与之相对的是Modsim32,用于模拟从设备)。它可以发送指令报文到从机设备中,从机响应之后,就可以在界面上返回相应寄存器的数据。.........
2022-07-31 15:26:00
76041
15
原创 【学习笔记】win10报0xc0000221错误无法开机
系统win10 10.0.18362.207,在安装Jlink驱动V6.80会出现不兼容,原因是系统跟bootsafe64_ev.sys这个文件不兼容。结果是会导致系统无法正常启动。需要使用U盘启动盘,从U盘启动,在\Windows\system32\drivers这个路径下把bootsafe64_ev.sys这个文件删除即可。......
2022-07-31 15:25:35
14032
3
【软件下载】Modscan32+Modsim32+SN 免安装
2022-07-01
【软件下载】Modbus Poll 7.0.1 + Modbus Slave 6.1.3
2022-06-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人