嵌入式软件
文章平均质量分 90
笨笨小乌龟11
身份:CSDN嵌入式新星作者,阿里云专家博主,华为云享专家。旨在给大家分享更多的技术知识,同时记录自身的成长过程,自己仍需多多学习,学无止境!
展开
-
Modbus-RTU -- TCP协议讲解(从入门到进阶)
(200表示请求已经成功)客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行、请求头部、空行和请求数据四个部分组成,下图给出了请求报文的一般格式。Modbus ASCII:运行在串口上协议,通过ASCII传输,每次传输内容的开始和结束都会有标志,传输效率低,适用于小数据传输。Modbus 协议是现在国内工业领域应用最多的协议,不知PLC设备,各种终端设备,例如:水表、电表、工业称。Modbus RTU: 运行在串口上的协议,通过二进制的表现形式以及紧凑的数据结构,通信效率高,应用广泛。原创 2023-12-18 16:26:15 · 12676 阅读 · 7 评论 -
掌握PWM:STM32F103实现PWM控制直流电机小风扇
点击共有两条线,一条接到高电平,一条接到低电平即可转动,所以我们将一条接到固定高电平上,例如5V引脚,另一个接到我们的PWM控制的引脚即可。输入捕获可以用来捕获外部事件,比如引脚的电平变化(上升沿,下降沿),并记录下变化的时间,通常可以用来测量外部信号的频率或者电平持续的时间。总结起来,PWM 通过改变信号的高电平和低电平的时间比例来控制输出的平均电压或功率,是一种常用的调节信号的方法。:通过调整PWM的占空比,可以控制直流电机的速度和方向,以及交流电机的频率和电压,实现精密的速度和扭矩控制。原创 2024-07-20 15:06:46 · 1613 阅读 · 0 评论 -
STM32中的DMA:解锁高效数据传输的秘密武器(内附实例)
传统的数据传输方法往往需要CPU的频繁干预,这不仅消耗了CPU的宝贵资源,而且限制了系统的整体性能。原创 2024-07-08 15:27:12 · 871 阅读 · 0 评论 -
嵌入式通信协议全解析:SPI、I²C、UART详解(附带面试题)
通信是指人与人或人与自然之间通过某种行为或媒介进行的信息交流与传递。从广义上来说,通信是指需要信息的双方或多方在不违背各自意愿的情况下采用任意方法、任意媒质,将信息从某方准确安全地传送到另方。在出现电波传递通信后,通信被单一解释为信息的传递,是指由一地向另一地进行信息的传输与交换,其目的是传输消息。通信方式包括利用“电”来传递消息的电信,这种通信具有迅速、准确、可靠等特点,且几乎不受时间、地点、空间、距离的限制,因而得到了飞速发展和广泛应用。原创 2024-07-06 14:52:20 · 1189 阅读 · 0 评论 -
掌握Linux网络:深入理解TC —— 你的流量控制利器
TC,即 Traffic Control,是 Linux 内核提供的一种用于网络流量管理和质量服务(Quality of Service, QoS)的工具。SHAPING(限制)当流量被限制时,其传输速率被控制在预设的阈值之下。这种限制可以显著减少突发流量,有助于维持网络的稳定性和预测性。SHAPING 主要应用于向外的流量控制。SCHEDULING(调度)调度涉及在可用带宽范围内,按优先级分配带宽资源。这确保了关键应用和服务可以得到优先处理,从而提高了网络的整体效率。原创 2024-07-05 15:47:23 · 1042 阅读 · 0 评论 -
Linux底层驱动社区饮水机系统详解
3.实现按键中断,并在其中实现倒计时的显示。首先是驱动的三大步:入口,出口,许可证。1.1两个按键实现接水和关水的控制。1.3接水完成后蜂鸣器响,亮绿灯。2.接收应用层传输过来的数据。绿灯常亮,接水时红灯亮起。1.完成灯和蜂鸣器的初始化。1.2显示金额的倒计时。原创 2023-09-15 20:10:28 · 495 阅读 · 10 评论 -
图搜算算法分类
图搜索算法是计算机科学中用于遍历或搜索图结构(由节点和边组成的数学结构)的技术,常应用于路径规划、网络分析、人工智能等领域。原创 2024-04-24 16:18:08 · 437 阅读 · 0 评论 -
Wireshark网络抓包工具入门指南
为了保证数据包的完整捕获,操作者需要具备对网络接口的完全访问权限,因此,在Linux环境下启动Wireshark时,常需要使用。当一个计算机需要向另一个计算机发送数据时,它需要知道目标计算机的MAC地址,而不是IP地址。0x0003 接收发往本机的MAC所有类型: ip,arp,rarp数据帧, 接收从本机发出去的数据帧,RARP: RARP协议则是与ARP相反的过程,它用于将MAC地址解析为IP地址。0x0800 只接收发往本机的mac的ip类型的数据帧。笔试题: type类型都有哪些?原创 2024-07-05 10:15:02 · 1588 阅读 · 0 评论 -
Linux下工具tc详细讲解及限制IP和端口实例
是Linux内核中提供的一个用于控制和管理网络流量的强大工具,它允许用户实现QoS(Quality of Service)策略,包括带宽限制、优先级控制、延迟保证等。TC基于内核的队列 discipline (qdisc) 和流量类别(class) 体系结构,允许对进入或离开网络接口的数据流进行复杂的整形和过滤。原创 2024-05-06 15:27:33 · 1437 阅读 · 7 评论 -
Linux中信号是什么?Ctrl + c后到底为什么会中断程序?
【代码】用信号的知识实现司机和售票员问题。1)售票员捕捉SIGINT(代表开车)信号,向司机发送SIGUSR1信号,司机打印(let‘s gogogo)2)售票员捕捉SIGQUIT(代表停车)信号,向司机。原创 2023-07-06 16:59:41 · 246 阅读 · 1 评论 -
一款轻量级的通信协议---MQTT (内含Linux环境搭建)
MQTT这款轻量级的通信协议我认非常适合那些性能低下的设备而准备的,也就是我们嵌入式中的一些硬件,这两者的契合度是非常大的。以上是本人的一些浅显的了解,如有错误还请指正。原创 2024-06-29 19:08:23 · 794 阅读 · 0 评论 -
【网络编程入门】TCP与UDP通信实战:从零构建服务器与客户端对话(附简易源码,新手友好!)
【代码】TCP和UDP的服务器和客户端通信代码实现。原创 2023-07-25 15:41:46 · 806 阅读 · 0 评论 -
网络编程初学者必备:从零开始的详细教程与资源汇总
对于链路层最大数据长度是1518字节(1500(网络层)+14(以太网)+4(CRC检错))========== IPPROTO_IP IP层/网络层 ====================== IPPRO_TCP 传输层 ======================= SOL_SOCKET 应用层 ==========10.1.3 epoll超时检测 -epoll也可以实现超时时间检测。12.1 概念:同样也是基于setsockopt实现的文件属性设置。1) 避免进程在没有数据时无限制的阻塞。原创 2023-11-27 20:19:01 · 2069 阅读 · 0 评论 -
Linux Shell 脚本入门教程:开启你的自动化之旅
Shell是一种计算机程序,它充当了用户与操作系统之间的接口。在Linux系统中,Shell允许用户通过命令行界面(CLI)来控制计算机。Shell脚本则是一种使用Shell语言编写的脚本,它可以自动执行一系列的命令,帮助用户实现任务自动化,提高工作效率。原创 2024-07-04 15:54:12 · 933 阅读 · 0 评论 -
【Linux系统编程】深入剖析:四大IO模型机制与应用(阻塞、非阻塞、多路复用、信号驱动IO 全解读)
在Linux环境下,主要存在四种IO模型,它们分别是阻塞IO(Blocking IO)、非阻塞IO(Non-blocking IO)、IO多路复用(I/O Multiplexing)和异步IO(Asynchronous IO)。原创 2024-07-05 10:05:17 · 1026 阅读 · 0 评论 -
Linux Crontab定时表教学大全(一看就会!)
是一种在类 Unix 系统(如 Linux、FreeBSD、Solaris 等)中用于设置和管理定时任务的实用工具。通过编写。原创 2024-03-26 10:32:28 · 1101 阅读 · 0 评论 -
Linux初学者必备:全面掌握核心命令
时需要加\来区分这是乘号而不是取全部!1.4.3.3 while循环。1.4.3.2 case语句。1.4.3.5 循环控制语句。1.4.3.4 for循环。1.4.3.1 if语句。3.1.4 shell命令格式。3.4.3 输入输出重定向。7.2.2 nat模式。特别注意:记住需要同时编译两个文件!2.1.1软件包的安装管理。3.1.2 命令的执行过程。12.3.2 makefile 格式。12.3.3 用make管理多个文件。12.3.4 makefile 变量。2.1.3软件管理工具。原创 2023-12-23 11:02:57 · 1133 阅读 · 0 评论 -
从管道路由到共享内存:进程间通信的演变(内附通信方式经典面试题及详解)
进程间通信(Inter-Process Communication, IPC)是计算机科学中的一个重要概念,指的是运行在同一系统或不同系统上的多个进程之间互相发送和接收信息的能力。IPC机制允许进程间共享数据、协调执行流程,是实现分布式系统、多任务操作系统和并发编程的基础。共享内存,因为共享内存是通过地址映射的方式进行数据的通信,无需多余的拷贝赋值 操 作。信号量用于确保多个进程在访问共享内存时不会发生数据竞争或不一致,实现对共享资源的安全访问。至此文章结束,希望可以帮到大家~原创 2024-07-04 10:48:04 · 1539 阅读 · 0 评论 -
守护进程到底是什么?如何创建?(图文并茂,你不得不看的一篇文章)
ps提供了静态的进程信息快照,适用于查看特定时刻的进程状态。top提供了动态的系统监控,适合实时监控系统资源和进程活动。原创 2024-07-03 16:57:20 · 829 阅读 · 0 评论 -
深入浅出:线程以及线程锁
一个进程可以包含一个或多个线程,而每个线程都有自己的指令指针和寄存器状态,它们共享进程的资源,如内存空间、文件句柄和网络连接等。线程锁的基本思想是,只有一个线程能持有锁,其他试图获取锁的线程将被阻塞,直到锁被释放。:线程共享进程的资源,如内存、文件句柄和网络连接等,这减少了资源的开销,但也要求对共享资源进行同步和保护,以防止数据竞争和不一致。:线程可以有不同的优先级,高优先级的线程在调度时会得到更多的CPU时间,从而影响线程的执行顺序和进程的整体性能。是非阻塞的,如果锁被占用,它会立即返回,不等待锁释放。原创 2024-07-03 17:23:02 · 727 阅读 · 0 评论 -
深入浅出:进程管理的艺术
进程可以被视为一个执行中的程序实例,它包含了程序代码、数据集以及一个描述其状态和控制信息的进程控制块(Process Control Block, PCB)。操作系统通过PCB来跟踪和控制进程的执行状态,包括进程的ID、内存映射、打开的文件、状态信息等。执行流程与返回值fork()调用在父进程中返回子进程的PID,在子进程中返回0。若返回负数,则表示创建子进程失败。fork()调用仅执行一次,但它的效果是使得代码在父进程和子进程中分别执行一次,形成两个独立的执行流。资源复制与独立执行fork()原创 2024-07-03 16:43:56 · 874 阅读 · 0 评论 -
make和Cmake都有什么区别?(内附使用详解)
总结来说,make 更像是一个执行者,负责按照给定的规则执行构建操作,而 CMake 则是一个协调者,负责生成构建规则,使得 make 或其他构建工具能够有效地完成工作。在实际开发中,CMake 通常位于 make 的上游,先由 CMake 生成 Makefile 或其他构建系统描述,然后再由 make 或相应构建工具根据这些描述执行构建任务。原创 2024-06-12 16:35:26 · 3120 阅读 · 0 评论 -
虚拟机下如何使用Docker(完整版)
Docker的核心理念源自于操作系统级别的虚拟化技术,尤其是Linux上的容器技术(如LXC),它为开发人员和系统管理员提供了一种标准化、轻量级的方式来打包、分发和运行应用程序及其依赖环境。- Docker镜像是构建容器的基础,是一种只读模板。容器之间互不影响,各自运行在一个独立的环境中,共享宿主机内核,但拥有自己的文件系统、CPU、内存、网络资源等,从而实现了轻量级的虚拟化效果。- **便携性**:开发人员可以在本地创建包含应用及其全部依赖的镜像,确保这个镜像能在任何支持Docker的环境中一致地运行。原创 2024-04-17 09:24:01 · 2833 阅读 · 0 评论 -
Kingbase(人大金仓数据库)(总结全网精华,虚拟机:从安装到操作数据库一条龙)
这里我并不推荐大家去用人大金仓的数据库管理工具,因为并不能查看库内的数据,大家可以用Dbeaver管理工具。但是Dbeavrer这里面并不能直接操作人大金仓,我们需要手动添加一下。博主自己用到的语句大概就这么多,如果大家觉得还是不够,这里再推荐一位大哥。接下来就不能大佬出场了,我也该来点自己总结的东西。希望可以帮到大家,也希望国产可以越做越好吧。这样操作起来就非常方便了。转载于:多喝清晨的粥。转载于:多喝清晨的粥。原创 2024-04-12 17:00:26 · 2480 阅读 · 1 评论