自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 收藏
  • 关注

原创 CAN总线协议介绍

差分信号是一种通过两根信号线传输电压差的信号方式,具有良好的抗干扰性和信号完整性。它广泛应用于高速数据传输的场合,例如USB、以太网、HDMI、PCIe等标准中。尽管差分信号具有许多优点,但它也需要较为复杂的电路设计和较高的成本。CAN 位时序的主要作用是确保总线上所有节点的数据交换按正确的节奏进行,避免冲突和数据错误。保证所有设备的同步。支持高速和低速的通信。支持仲裁机制,保证优先级高的数据优先传输。提供数据错误检测与纠正功能。优化信号传播,消除信号延迟。

2024-11-30 11:19:54 1073

原创 串口通讯介绍

4 DTR 数据终端准备好。6 DSR 数据准备好。1 DCD 载波检测。7 RTS 请求发送。8 CTS 清除发送。2 RX 接收数据。3 TX 发送数据。5 GND 地信号。9 RI 振铃提示。

2024-11-29 16:50:01 326

原创 Linux定时器机制实现循环确定时间

使用 POSIX 定时器可以使程序更加高效和精确地执行定时任务。相比于使用sleep(),它能够提供更好的时间管理,并且避免了因忙等待导致的资源浪费。

2024-11-28 09:43:30 501

原创 JSON中一位小数输出 保留确定精度小数 小数点后位数

在使用cJSON的时候,使用cJSON_CreateNumber创建小数obj后,再添加到array或者其他obj中,然后使用cJSON_Print输出的时候,发现小数点后的小数多了很多,完全不是添加的时候保留的精度,搜索网上解决说换成最新的就可以,但是最新下载后结果还是一样,最终使用了json-c解决了。

2024-11-28 09:17:02 528

原创 PWM概念以及作用

PWM(脉宽调制)是一种通过改变脉冲信号的占空比来控制功率输出的技术。它在电动机控制、LED 亮度调节、音频信号、开关电源等多个领域中得到了广泛应用。通过调节占空比,PWM 可以有效控制平均功率输出,因此具有高效率、精确控制等优点。

2024-11-26 09:30:00 856

原创 SPI通信

注意当CPOL=0的时候,时钟的奇数边沿是上升沿,而CPOL=1的时候,时钟的奇数边沿是下降沿。主机(Master)将要发送的数据写到发送数据缓存区(Menory),缓存区经过移位寄存器(0~7),串行移位寄存器通过MOSI信号线将字节一位一位的移出去传送给从机,,同时MISO接口接收到的数据经过移位寄存器一位一位的移到接收缓存区。由CPOL及CPHA的不同状态,SPI分成了四种模式,见下表,主机与从机需要工作在相同的模式下才可以正常通讯,实际中采用较多的是“模式0”与“模式3”。是不是感觉,这就完了?

2024-11-25 16:18:06 992

原创 I2C学习

I2C 总线的最大电容限制为 400 pF,主要是为了保证信号传输的质量和时序的准确性。随着设备数量的增加,每个设备引入的电容会增加总线的电容,超过一定值后,信号的上升和下降时间会受到影响,导致通信错误。因此,为了确保 I2C 总线的可靠性,最大电容限制是 400 pF。

2024-11-22 17:20:01 768

转载 计算机网络——TCP的拥塞控制(超详细)

这篇博客来讲讲TCP的拥塞控制机制,这是TCP中比较复杂的一个部分,它与TCP的很多内容都有关联,但是这里不可能将这些内容都说一遍,所以以下描述将建立在读者对TCP的机制有一定了解的基础之上。这一部分内容确实有些复杂,我尽量在少涉及TCP其他内容的条件下将它叙述清楚。我们都知道,网络错综复杂,在这个复杂的网络中,很少有两台主机是直接相连。尽管如此,我们还是可以通过网络与其他主机通信,这是为什么?

2024-10-29 19:29:13 1037 1

原创 __attribute__ ((__packed__))

未使用__packed__:大小通常会是 8 字节(具体值依赖于编译器和平台)。使用__packed__:大小为 6 字节。这种大小差异在处理内存敏感的应用(如网络协议)时非常重要,因此选择是否使用__packed__需要根据具体情况权衡。

2024-10-29 14:34:22 664

原创 sudo chroot raw-rootfs

然后可以使用exit退出。挂载相关的文件系统。

2024-10-27 13:00:00 245

原创 linux伪文件系统是什么?有什么作用?

伪文件系统在 Linux 中起到了信息展示和设备管理的关键作用,使得系统信息的访问变得简便直观,帮助开发者和系统管理员更好地监控和管理系统状态。

2024-10-26 14:23:40 640

原创 SATA数据线

SATA 数据线(Serial ATA 数据线)是一种用于连接计算机主板与存储设备(如硬盘、固态硬盘和光驱)的线缆。它的主要作用是传输数据,允许计算机与这些设备之间进行高效的数据交换。

2024-10-26 11:11:55 1531

转载 Linux中TCP连接断开判断

(read/write、select、getsockopt、signal)实时判断socket连接状态/是否断开_getsockopt函数判断sock链接状态-优快云博客

2024-08-06 16:21:32 210 1

原创 主机和从机的概念及功能

在通信和计算机系统中,主机(Host)和从机(Peripheral 或 Slave)是两种常见的设备角色,它们在系统中的角色和功能有所不同:定义:功能:定义:功能:在主机和从机之间的通信通常遵循特定的协议,这些协议定义了数据传输的方式和格式。例如:通过这种主从关系,系统可以实现有效的资源管理和任务分配,提高整体的运行效率和可靠性。

2024-07-22 11:10:58 3164

原创 在不同的数据传输协议中,MSB和LSB的传输方式有什么不同?

总之,MSBFIRST和LSBFIRST是数据传输协议中两种基本的位序传输方式。选择哪种方式取决于具体的协议要求、硬件设备的特性以及软件系统的处理方式。正确地理解和应用这些传输方式对于确保数据通信的准确性和可靠性至关重要。在数据传输协议中,MSB(最高有效位)和LSB(最低有效位)的传输方式主要影响数据的位序,即数据是如何按位发送的。

2024-07-22 11:08:12 2066

原创 execv函数简单使用

在Unix-like系统中,execv函数用于执行一个新的程序,同时可以传递参数给它。这个函数是exec系列函数之一,用于替换当前进程映像。

2024-07-18 12:01:58 547

原创 SDA 上传输的数据必须在 SCL 为高电平期间保持稳定, SDA 上的数据只能在 SCL 为低电平期间变化

I2C(Inter-Integrated Circuit)是一种常用的串行通信协议,广泛应用于微控制器和各种设备之间的通信。I2C 通信依赖于两根线:数据线(SDA)和时钟线(SCL)。SDA 上传输的数据必须在 SCL 为高电平期间保持稳定, SDA 上的数据只能在 SCL 为低电平期间变化。总之,I2C 协议的这种设计确保了数据传输的可靠性和同步性,使得多个设备能够在同一总线上有效通信。

2024-07-18 11:59:19 621

原创 单点触摸屏和多点触摸屏介绍以及原理简略

单点和多点触摸屏技术是现代触摸设备的基础,下述简单解释这两种技术及其差异。

2024-07-15 22:40:04 722

原创 电容屏确定触点位置原理

电容屏中有一个控制芯片,它会周期性产生驱动信号,接收电极接收到信 号,并可测量电荷大小。当电容屏被按下时,相当于引入了新的电容,从而影 响了接收电极接收到的电荷大小。主控芯片根据电荷大小即可计算出触点位置。 怎么通过电荷计算出触点位置?这由控制芯片实现,这类芯片一般是 I2C 接口。

2024-07-15 22:16:05 790

原创 相对位移(鼠标)和绝对位移(触摸屏)

在Linux操作系统中,输入设备如鼠标和触摸屏通过事件设备接口(Event Device Interface)来与系统交互。这个接口定义了一组事件类型,用于描述设备生成的输入事件。其中,EV_REL和EV_ABS是两种不同的事件类型,分别代表相对位移和绝对位置。EV_REL (相对位移)相对位移事件是指输入设备报告的是一个相对于上一个位置的移动量。例如,鼠标移动时,它不会告诉系统它在屏幕上的确切位置,而是告诉系统它从上一个位置移动了多少像素。

2024-07-12 20:20:39 1786

原创 Framebuffer编程

本示例程序的功能是在LCD屏上绘制100个红色像素点。程序首先打开Framebuffer设备,获取当前屏幕信息,然后通过内存映射访问Framebuffer,最后在指定位置绘制像素点,并在绘制完成后清理资源。这些变量用于存储Framebuffer文件描述符、屏幕信息、屏幕大小、Framebuffer内存地址等。本文通过一个简单的示例程序,展示了如何在Linux Framebuffer上进行像素级的控制。这在嵌入式系统开发中非常有用,尤其是在需要直接操作显示内存的场景。

2024-07-11 22:17:03 910

转载 一文搞懂CPU、MPU、MCU、SOC的联系与区别

MCU(Micro Control Unit),叫微控制器,是指随着大规模集成电路的出现及其发展,把中央处理器、存储器、定时/计数器(timer/counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机,形成芯片级的芯片。它的最大优点是体积小,可放在仪表内部,但存储量小,输入输出接口简单,功能较低。所谓的计算机的可编程性主要是指对CPU的编程。制造的中央处理器,这些高度收缩的组件就是所谓的微处理器,其中分出的中央处理器最为复杂的电路可以做成单一微小功能强大的单元,也就是所谓的核心。

2024-07-11 22:12:34 2603 1

转载 Linux 查看某一个进程占用内存情况

第一个标注的地方是CPU和内存占用率,后面的943100是物理内存使用量,单位是k,此时kafka大约占用943M内存。通过: ps aux | sort -k4,4nr | head -n 10 查看内存占用前10名的程序。Linux下查看某一个进程所占用的内存,首先可以通过ps命令找到进程id,比如 ps -ef |还可以查看进程的status文件: cat /proc/2913/status。这样可以动态实时的看到CPU和内存的占用率,然后按q键回到命令行。

2024-07-10 17:38:07 548

原创 free第一次成功,第二次失败

寻找每一个可能的会操作内存的位置,确定是否操作了未分配的内存。如果动了没有分配的内存,free会出问题的。

2024-07-10 17:30:07 267

转载 【无标题】

本文以TFT-RGB接口的LCD为例,主要阐述LCD硬件工作原理以及LCD时序参数分析。通过阅读本文可以帮助你快速了解LCD的工作原理与应用,有助于在实际工作中,使用LCD屏幕开发时能够快速上手开发。

2024-07-09 22:30:06 43

原创 LED灯的呼吸功能

在开发板上,LED 的呼吸功能可能是通过软件控制实现的,可能涉及到 PWM(脉宽调制)信号来调节 LED 的亮度。关闭呼吸功能后,LED 可能会保持常亮或者完全熄灭,具体取决于开发板的固件或软件是如何配置的。可能代表开启呼吸功能或者以某种模式点亮 LED。具体使用哪个值来控制 LED 的行为,需要参考开发板的技术文档或示例代码。,这通常表示关闭 LED 或者关闭其呼吸功能。这种效果通常用于指示设备的状态或者简单地作为装饰效果。目录下的设备文件用于访问硬件设备,就是这个 LED 的设备文件。

2024-07-08 23:44:17 476

原创 8.8.8.8 IP地址的作用

DNS(域名系统)是互联网的基础服务,负责将人类可读的域名(如www.google.com)转换为机器可读的IP地址。:虽然不如专业的隐私保护DNS服务,但Google的DNS服务(Google DNS)相比某些ISP提供的DNS服务,在隐私方面提供了一定程度的保护。:由于Google的DNS服务具有高速缓存和快速的响应时间,使用8.8.8.8可以加快域名解析速度,从而提高网页加载速度。:与一些可能不稳定或响应慢的本地DNS服务相比,Google的DNS服务提供了更高的可靠性和稳定性。

2024-07-08 23:40:49 1664

原创 Linux显示文件夹大小为4096

即使文件夹是空的,它也会占用至少一个块的空间,因此显示的大小是4096字节。在Linux系统中,当你查看一个新创建的文件夹(空文件夹)或某些特定类型的文件系统上的大小时,可能会发现它们显示为4096字节,即使它们是空的。:文件夹本身包含一些元数据,如目录项(记录文件夹内文件和子文件夹的名称和属性),这些也会占用一些空间,通常足以填满一个块。:不同的文件系统可能有不同的块大小和元数据存储方式,这可能会影响显示的文件夹大小。:文件系统本身需要一些空间来存储文件和目录的索引信息,这也会影响显示的大小。

2024-07-04 19:00:00 618

原创 Ubuntu su命令输入密码后提示“su: 认证失败”

命令切换到root用户时提示“su: 认证失败”通常是因为root账户默认情况下是被锁定的,没有设置密码。:如果确实需要使用root账户,可以通过设置root密码来启用它。命令允许普通用户执行具有root权限的命令。在Ubuntu系统中,使用。来执行需要root权限的命令1。命令代替直接使用root用户。:Ubuntu推荐使用。

2024-07-04 10:15:00 1912

原创 Linux中cat命令的英文含义

命令之所以被命名为"cat",是因为它可以将多个文件(或输入)"连接"在一起,并"打印"出来。这与"猫"这个动物没有直接联系,而是与它在文本处理中的作用有关。Unix哲学鼓励使用简单、通用的工具来完成特定的任务,这个命令的名称是这两个功能的首字母缩写。尽管"cat"在英语中确实有"猫"的意思,但在Unix和类Unix系统中,命令的主要功能是用于查看、创建和拼接文件。我之前一直在想cat不是猫的意思吗,命令就是这种哲学的一个典型例子。oncatenate(连接)和。命令的名称与动物无关。

2024-07-03 23:31:57 711

原创 snap和apt的区别简单了解

在决定使用哪个命令之前,你可以检查你的系统是否支持 Snap,以及你是否有特定的版本需求。如果没有特别的偏好或需求,通常使用系统默认的包管理器(在大多数 Ubuntu 系统上是。命令行工具的,但它们使用的是不同的包管理器和软件源。这两个命令都是用来安装。)是一个安全的选择。

2024-07-03 22:48:36 1448

原创 Linux中为什么etc是存放配置文件

目录逐渐成为存放系统级配置文件的标准位置。这些配置文件通常由系统管理员编辑以调整系统设置,它们控制着系统的行为和操作方式。目录中的文件通常是文本格式,可以通过文本编辑器进行编辑。由于这些文件对系统的正常运行至关重要,因此只有具有适当权限的用户(通常是root或管理员)才能修改它们。的命名来源于早期Unix系统中的 "etcetera"(拉丁语 "et cetera" 的缩写,意为 "等等"),因为该目录最初用于存放各种杂项配置文件。是一个目录的名称,通常位于Unix和类Unix操作系统中,如Linux。

2024-07-03 22:42:19 376

原创 VMware每次打开网络设置都出现需要运行NetworkManager问题

【代码】VMware每次打开网络设置都出现需要运行NetworkManager问题。

2024-06-30 17:43:41 675

原创 VMware17安装Ubuntu20版本-保姆级别

保姆级,使用VMware17安装Ubuntu20

2024-06-30 16:24:05 1155

转载 悲观锁和乐观锁

Java 按照锁的实现分为乐观锁和悲观锁,乐观锁和悲观锁并不是一种真实存在的锁,而是一种设计思想,乐观锁和悲观锁对于理解 Java 多线程和数据库来说至关重要,那么本篇文章就来详细探讨一下这两种锁的概念以及实现方式。

2024-06-25 17:20:56 37

原创 getifaddrs 函数详解

getifaddrs函数用于获取系统中所有网络接口的信息。它返回一个链表,链表中的每个节点包含一个结构,该结构定义在ifaddrs.h头文件中。下面是关于getifaddrs函数和。

2024-06-08 15:06:13 1889

原创 vmware中Ubuntu虚拟机和本地电脑Win10互相ping通

然后就可以互相ping通了,而且虚拟机也能够ping通www.baidu.com,表示有网络。初始的时候是NAT,没动的.点击右键编辑“属性”

2024-05-29 22:36:40 1059

原创 linux编译顺序

被依赖的库必须放在最后,放在最后,编译的时候是从后往前的!!!

2024-05-28 11:17:49 129

原创 mosquitto启动命令以及配置文件使用

在使用MQTT Broker Mosquitto时,为了实现更精细、更具控制力的用户认证管理,除了基本的密码文件方式外,还可以利用各类认证插件来满足需求。这个有兴趣的可以自己尝试以下,我试了一下发现动态库mosquitto_dynamic_security.so加载失败了,所以没能进行下去,应该是交叉编译的时候没有把openssl放入其中。,启用所有类型的日志输出。启用此选项后,它将覆盖配置文件中设定的所有日志级别选项,确保mosquitto以最详细的日志级别运行,有助于调试和监控broker状态。

2024-04-01 10:57:01 3595

原创 揭秘ARM处理器的工作模式:深入浅出理解其运作机制

ARM处理器的五种工作模式设计精巧,各有分工,充分体现了其高度可配置性和安全性。理解这些工作模式,不仅能帮助我们更好地理解ARM处理器的工作原理,还能在设计和优化系统时,充分利用这些模式的优势,提高系统的性能和安全性。通过灵活切换和使用不同的工作模式,可以更好地满足不同层次的需求,确保系统的稳定运行和高效执行。

2024-03-22 18:30:00 669

空空如也

空空如也

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

TA关注的人

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