自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于STM32F103 LL库的I2C通信原理与实现

STM32F103系列微控制器是STMicroelectronics推出的一款高性能、低功耗的32位ARM Cortex-M3处理器。本文将介绍如何基于STM32F103的LL库(Low-Level库)来进行I2C通信的操作,通过配置寄存器实现I2C主设备的数据读写。

2023-12-28 17:31:34 1535

原创 基于STM32F103操作寄存器实现IO模拟I2C通信

在I2C通信中,设备分为主设备(Master)和从设备(Slave),主设备负责发起通信,而从设备负责响应。通信的数据传输以字节为单位,每个字节包括8个位,其中7个位用于数据,最后一个位是应答位(ACK)。STM32F103系列微控制器提供了灵活的GPIO引脚控制和丰富的外设支持,使得在没有硬件I2C接口的情况下,我们可以通过操作寄存器来模拟I2C通信。本文将介绍如何在STM32F103上使用寄存器操作,通过IO口模拟I2C通信的原理,并提供一个简单的例子。

2023-12-28 17:27:58 851

原创 基于STC89C51使用IO模拟I2C操作的原理解析

I2C(Inter-Integrated Circuit)是一种串行通信协议,用于连接微控制器与外围设备,如传感器、存储器、扩展IO等。然而,STC89C51并没有硬件I2C接口,但我们可以使用IO口模拟I2C通信。本文将介绍如何在STC89C51上使用IO口模拟I2C通信的原理,并提供一个简单的例子。

2023-12-28 17:25:33 745

原创 STC89C51上模拟SPI通信协议实现SD卡操作

在STC89C51上实现SD卡操作需要模拟SPI通信协议,因为STC89C51并没有硬件SPI接口。在这个例子中,我们将使用IO口模拟SPI通信,并实现基本的SD卡读写操作。

2023-12-28 17:23:03 762

原创 在STM32F103上实现SD卡读写的基础原理解析

嵌入式系统中,对外部存储介质的读写是一项基本而重要的任务。本文将介绍如何在STM32F103微控制器上使用STM32CubeIDE实现对SD卡的基本读写操作。

2023-12-28 17:20:29 783

原创 无刷电机的工作原理与分类——交流电还是直流电?

若换相器集成在电机内部,则输入是直流仍可称为是直流电机,但大功率的换相器一般在电机外,这样经过换相器供给电机的实际上是交流电。无刷直流电机与永磁同步交流电机结构很类似,区别是无刷直流电机的输入是方波,永磁同步电机的输入是正弦波。其实交流式换向无刷电机要比无刷直流电机的方式复杂得多,在后面的命名上,其实也有所区别,无刷直流电机一直沿用原来的名字,而交流式换向无刷电机被称为永磁同步电机。根据直流电能的获得方式,无刷直流电机通常上有交-直-交控制系统和直-交控制系统两种主要实现方式,也就是俗称的方波。

2023-12-27 17:40:34 1017

原创 电压监控器如何解决电源噪声和毛刺问题

对于需要使用现场可编程门阵列(FPGA)、微处理器、数字信号处理器和微控制器进行数据计算和处理的应用,都必须确保各器件能够安全可靠地运行。由于这些器件只能在一定的电源容差范围内运行,因此对电源的要求很高。1电压监控器可用于保持系统稳定可靠运行。当电源出现意外故障(例如欠压或过压)时,电压监控器可立即触发操作,将系统置于重置模式。然而,它在监控电源轨中的电压时也会面对一些干扰因素,这可能会触发不必要的误复位输出。这些干扰包括电源噪声、电压瞬变和可能来自电源电路本身的毛刺。

2023-12-27 17:36:40 551

转载 看得见的无线通信技术—可见光通信

1 可见光通信的原理及技术背景  可见光通信技术(visible light communication,VLC),是利用发光二极管(light emitting diode,LED)等可见光光源发出肉眼难以分辨的高速明暗变化光信号来传输信息。如图1所示,以二进制开关键控(On-Off keying,OOK)信号传输为例,如果让光强“亮”代表数字通信中的“1”,让光强“暗”代表数字通信中的“0”,则可见光通信系统的调制深度决定了灯光的“明”“暗”状态变化的大小。可见光通信系统的通信速率则影响灯光的“明”“

2023-12-27 17:32:33 1127

原创 无线局域网(WLAN)是什么?

接入点将有线网络连接到无线网络,允许无线设备连接到网络。无线局域网(WLAN)是一种基于无线电波技术的局域网,它使用了无线接入点(AP)作为中心节点,连接多个终端设备,例如笔记本电脑、智能手机等,实现了无线通讯和数据传输。无线接入点:也称为 AP,它是无线局域网系统的核心部分,负责转换网络流量,连接无线设备与有线网络。企业网络:企业内部常使用 WLAN 来连接员工的移动设备,以便员工能够随时随地访问公司网络资源。无线设备:包括笔记本电脑、智能手机、平板电脑等终端设备,它们通过接入点连接到无线局域网。

2023-12-27 17:30:54 734

原创 华为海思麒麟9000s是处于什么水平的处理器?

接下来,我们来看一下该芯片的GPU性能表现。这种GPU设计可以充分发挥不同游戏或应用对图形处理的需求,从而大幅提升手机在游戏、视频等方面的性能,还可以满足用户对高清屏幕显示效果的需求。根据华为官方公布的数据,麒麟9000s的AI计算能力比上一代芯片提升了200%,可以满足未来更加复杂的人工智能应用需求。总体来说,华为海思麒麟9000s作为目前市场上最为强大的手机处理器之一,可以满足用户在游戏、视频、音乐等方面的高性能需求,并且具有强大的AI加速能力和安全性能,可谓是一款非常优秀的处理器。

2023-12-27 17:29:40 2087

原创 STM32单独设置IO端口高8位或低8位的方法

这样, BSRR寄存器的值就是 0000 0000 1010 1010 0000 0000 0101 0101, 两部分的高8位均为0, 所以不会影响到IO口的高8位。高16位应该置为 0000 0000 1010 1010, 这个就等于 ~0x55(即取反)的结果, 置1使某位为0, 置0不影响原来的值。低16位应该置为 0000 0000 0101 0101, 这个就等于 0x55, 置1使某位为1, 置0的位不影响原来的值。这个和单独对低8位置数其实是一样的, 只是设置的位不一样罢了。

2023-12-27 17:25:15 1036

原创 计算机的温度管理

计算机的温度管理是确保计算机硬件在安全温度范围内运行的重要方面。高温度可能导致硬件故障、性能下降甚至永久性损坏。

2023-12-26 15:08:45 412

原创 计算机的耐用性和设计材料

计算机的耐用性和设计材料是决定计算机寿命和使用质量的关键因素之一。

2023-12-26 15:07:27 414

原创 计算机的传感器技术

传感器技术在计算机领域起着关键作用,它使得计算机能够感知和获取外部环境的信息。

2023-12-26 15:05:53 574

原创 User计算机的时钟与定时器

计算机的时钟和定时器是两个关键的硬件组件,它们在计算机系统中起着重要的作用。

2023-12-26 15:03:17 384

原创 Keil编译工程,生成hex文件自动添加时间信息方法

编写一个脚本来实现生成hex文件时自动添加时间信息作为文件名。

2023-12-26 15:03:11 1089

原创 计算机的外部接口与连接

计算器的外部接口与连接涉及到设备与计算器之间的通信和数据传输。了解这些外部接口与连接的知识点有助于用户充分利用计算器的功能,并确保计算器能够与其他设备协同工作。- 一些计算器允许用户通过扩展接口或插槽连接额外的硬件组件,如内存模块、附加功能模块等。- 串口通常用于连接计算器与其他设备,如传感器、测量仪器等,通过串行通信进行数据交换。计算器可能支持无线连接,如Wi-Fi、蓝牙,允许与其他无线设备通信或连接到无线网络。一些计算器具有与打印机连接的接口,使其能够直接与打印机进行通信和打印文档。

2023-12-26 15:01:12 471

原创 stm32如何延时两小时,用哪种方式好?

外接一个RTC时钟芯片,使用方法就是记录当前时间,比如,当前时间是12点24分36秒。然后,在主函数里面循环查询时间,当时间到达14点24分36秒时,发送信息。采用STM32内置定时器,比如采用定时器1,定时1秒钟。每次定时中断函数,里面的flag自动加1。当flag等于7200的时候,就表示两个小时到了。如果程序较为复杂,可以尝试上个内核,时间管理直接内核来负责。将时间管理直接放权给实时内核,他会自动管理。总结来说,如果就是很简单的程序,就采用。· 误差在10秒到2分钟以内。· 该方法误差在1秒以内。

2023-12-26 14:50:03 424

原创 浅谈STM32的启动过程

从系统存储器启动,这种模式启动的程序功能是由厂家设置的。系统存储器是芯片内部一块特定的区域,STM32在出厂时,由ST在这个区域内部预置了一段BootLoader,也就是我们常说的ISP程序,这是一块ROM,出厂后无法修改。一般来说,我们选用这种启动模式时,是为了从串口下载程序,因为在厂家提供的BootLoader中,提供了串口下载程序的固件,可以通过这个BootLoader将程序下载到系统的Flash中。下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存,这就是所谓的启动过程。

2023-12-26 14:46:23 842

原创 适用于多任务场景下的纸飞机调试助手

在技术快速发展的今天,几乎所有开发者的代码编辑器都支持了关键字高亮,通过不同颜色来强调传达不同的信息,使得开发工作有明显的提效,然而大多数调试助手的文本还依然是最简单的白底黑字,最多可以调一个背景色或者字体,在阅读体验上停留在非常原始的级别。我们知道操作系统中引入了多任务的概念,每一个任务完成一个特定的功能,任务之间相对独立,互不干扰,那么很自然的,各个任务之间的log数据也可以是独立的,如果能把各个任务的数据显示在不同的窗口,我们就可以筛掉大部分的信息,专注于我们想要关注(正在调试)的任务的log信息。

2023-12-26 14:41:11 1728

原创 学习STM32必须掌握的内容

在互联型产品中,总线矩阵包含 5 个驱动部件(CPU 的 DCode、系统总线、以太网 DMA、 DMA1 总线和 DMA2 总线)和 3 个从部件(闪存存储器接口(FLITF)、SRAM 和 AHB2APB 桥)。AHB 外设通过总线矩阵与系统总线相连,允许 DMA访问。此总线将DMA的AHB主控接口与总线矩阵相联, 总线矩阵协调着CPU的DCode和 DMA 到 SRAM、闪存和外设的访问。此总线连接 Cortex-M3 内核的系统总线(外设总线)到总线矩阵, 总线矩阵协调内核和 DMA 间的访问。

2023-12-26 14:33:12 925

原创 一文搞定Linux内存管理原理

前面提到过内核的地址映射是写死的,就是指这3~4G的对应的页表是写死的,它映射到了物理地址的0~1G上。所以,大于896M的物理地址是没有写死的页表来对应的,内核不能直接访问它们(必须要建立映射),称它们为高端内存(当然,如果机器内存不足896M,就不存在高端内存。(同样的道理,mmu会在被写的页面所对应的页表项上置一个dirty标志,表示页面是脏页面。页面的访问标记(包括上面两种标记)将在PFRA处理页面回收的过程中被清除,因为访问标记显然是应该有有效期的,而PFRA的运行周期就代表这个有效期。

2023-12-26 14:29:40 406

原创 常用贴片二三极管型号与丝印对照表

一般丝印是产品型号和工厂品牌的代码,由于二极管、三极管上面的空间局限,所以通常用丝印来代替。通常工程师们都是通过丝印来辨别二三极管型号及参数的

2023-12-26 14:12:53 4632

原创 PCB设计技巧丨偷锡焊盘处理

在器件过波峰时,经常容易在器件的尾端产生连锡现象,在生产中为了避免这种缺陷,设计时需要在器件的尾部加一对无电气属性的焊盘,即为偷锡焊盘。其作用是在焊接过程中,引导锡膏或焊锡流向正确的位置,从而提高焊接的一次性成功率。在PCB设计中,我们经常需要处理各种封装的元件,其中SOP、QFP、DIP、SIP、ZIP等系列封装的元件就需要进行偷锡焊盘的处理。本文便主要为大家介绍偷锡焊盘的三种常见处理方式。

2023-12-26 14:01:54 1358

原创 电源常用电路—驱动电路详解

典型的浮动接地驱动电路为自举驱动电路,它通过电平位移电路连接驱动电路与器件接地参考控制信号。为了获得较小的驱动电阻, 氮化镓晶体管驱动高电平一般设置在5V左右,考虑到高频工作条件下回路的寄生感抗会引起较大的驱动振荡,驱动电压的安全裕量很小。SiC MOSFET的驱动电压范围为-5~20V,其驱动电路设计应考虑驱动电平与驱动电流的要求,死区时间设定的要求,芯片所带的保护功能以及抗干扰性等。IGBT的驱动电路一般采用专用的驱动芯片,如东芝的TLP系列,富士公司的EXB系列,英飞凌的EiceDRIVER系列等。

2023-12-26 13:56:16 1282

原创 PCB设计安规丨爬电距离与走线规则

在设计过程中,要充分考虑各种因素,遵守相关规范和标准,提高电路板的可靠性、稳定性和安全性。这是增加爬电距离的有效方法,槽的位置和长度需要根据实际应用情况,进行适当的设计和调整。例如当铜厚1OZ时,1mm线宽可按电流1A来取值,在条件允许的情况下,走线应尽可能宽,以降低电阻并提高可靠性。1、间距设计原则,一般1mm间距耐压300v,在条件满足的情况下,间距设置越大越好。4、在需要高频信号传输的情况下,应使用屏蔽电缆或光纤传输,以减少干扰。1、在设计过程中,要尽量减少线路的长度和弯曲度,以减少电阻和电感。

2023-12-26 13:55:23 1933

原创 Python 进阶编程之旅

Python 进阶知识为开发者提供了更强大、更灵活的工具,使得代码更易于维护、更高效。深入掌握这些高级特性将使你在 Python 编程的旅途中更加游刃有余。持续学习和实践,掌握这些概念,你将成为一位更为优秀的 Python 开发者。希望这篇博文能够帮助你在 Python 的世界里更进一步!

2023-12-25 17:08:22 377

原创 Python 基础知识入门指南

这篇博客提供了 Python 基础知识的简要介绍,作为初学者的入门指南。随着深入学习,你将更深刻地理解这门语言的魅力。建议通过实际编程练习,阅读官方文档以及参与社区项目,进一步提升 Python 编程技能。愿你在 Python 的世界里探索出属于自己的编程之美!

2023-12-25 17:07:02 523

原创 Python数学库函数与实际应用

Python数学库的强大功能和灵活性使得它们成为科学计算和数据分析的不可或缺的工具。通过 NumPy、SciPy、SymPy 和 Matplotlib 的结合使用,我们可以完成从基本数值计算到高级符号计算、科学计算和数据可视化的一系列任务。在数据科学、工程和科学计算领域,Python数学库的作用不可忽视。SciPy不仅仅是数学函数的集合,还包含许多专业的科学计算工具,为工程和科学领域提供了全面的支持。Matplotlib 是一个用于绘制图表和可视化数据的强大库,是数据科学和数学可视化的标准工具。

2023-12-25 17:05:18 399

原创 Qt 与 Python介绍

PyQt 和 PySide 都是用于将 Qt 功能带入 Python 的工具,它们的核心功能几乎相同。无论你是刚刚入门还是经验丰富的开发者,Qt Python 都将成为你构建出色应用的得力助手。开始你的 Qt Python 之旅吧,打造令人瞩目的用户界面和功能丰富的应用程序!Qt,这一跨平台的 GUI 开发框架,与 Python 的结合,为开发者提供了强大而灵活的工具。为了让更多的开发者能够利用 Qt 的强大功能,出现了几个 Qt 的 Python 绑定,其中以 PyQt 和 PySide 最为著名。

2023-12-25 16:56:05 1333

原创 图解python基础数据类型

因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。如果你要实现从字符串中获取一段子字符串的话,可以使用 头下标:尾下标 来截取相应的字符串,其中下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。列表中值的切割也可以用到变量 头下标:尾下标 ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。当使用以冒号分隔的字符串,python 返回一个新的对象,结果包含了以这对偏移标识的连续的内容,左边的开始是包含了下边界。

2023-12-25 16:51:51 1063

原创 检测DC-DC电源模块稳定性

除了输出电压和输出电流,一些静态测试参数还包括纹波、起伏、波浪、静态输出电压精度。在动态测试过程中需要改变测试负载的值和频率,得到正常工作状态下的输出电压和电流。DC-DC电源模块的稳定性,可以通过检测输出电压、输出电流、负载、波形、效率等参数来评估。同时,系统支持批量测试,多个测试项目可以一键运行测试,提高300%测试效率。除了以上测试方法,还可以进行短路保护测试、温度测试等,测试完成后分析数据,评估DC-DC电源模块的稳定性和可靠性。然后,改变测试负载的值,再次测试输出电流和电压。

2023-12-21 18:01:14 523

原创 蓝牙键盘如何与电脑连接

在数字化时代,蓝牙设备已经成为了我们生活中不可或缺的一部分。其中,蓝牙键盘作为一款无线输入设备,以其方便、快捷的特点受到了广大用户的喜爱。那么,蓝牙键盘怎么连接电脑?可能很多用户还不知道具体的操作方法,别着急!本文将给大家分享正确的操作方法,继续往下看吧!

2023-12-21 17:48:05 585

原创 树莓派基于C语言获取系统资源信息

在树莓派上使用C语言读取系统资源信息,包括CPU、内存、磁盘、网卡等,您可以通过读取特定文件或者调用系统命令来获取这些信息。以下是一个基本的示例,演示如何读取CPU温度、内存使用、磁盘空间以及网卡信息。此示例演示了如何使用C语言读取树莓派上的CPU温度、内存信息、磁盘空间以及网卡信息。请注意,这只是一个入门示例,您可以根据需要进一步扩展和优化。

2023-12-20 17:40:48 501

原创 在树莓派上基于C语言进行文件的读写操作

在C语言中,我们使用fopen函数来打开文件。以下是一个简单的例子,打开一个名为在上面的例子中,fopen函数的第一个参数是文件名,第二个参数是文件打开的模式。w+表示以读写模式打开文件,如果文件不存在则创建。

2023-12-20 17:37:24 557

原创 树莓派查看系统资源情况命令

在树莓派上,您可以使用多种方式来查看系统资源情况,包括 CPU 使用率、内存占用、磁盘空间等。

2023-12-20 17:32:24 2061

原创 树莓派上查看端口占用情况

选择其中一种方法,根据需要查看特定端口的占用情况。注意,某些命令可能需要以超级用户权限运行(使用。该命令会列出所有的网络连接和监听端口,以及相应的进程信息。进入搜索模式,然后输入端口号进行搜索,以查看占用该端口的进程。该命令会显示所有监听中的 TCP 连接,以及相应的端口信息。该命令将显示占用该端口的进程信息。表示以数字形式显示端口和 IP 地址。另一种查看端口占用情况的方式是使用。在终端中运行以下命令,使用。表示显示 TCP 连接,表示显示 UDP 连接,表示显示监听中的连接,在 htop 中,按下。

2023-12-20 17:28:39 1174

原创 树莓派上基于C语言实现TCP长连接

TCP是一种可靠的、面向连接的传输层协议。它建立起一条可靠的双向通信线路,确保数据的有序传输和错误恢复。TCP提供流控制、差错检测和纠正、拥塞控制等机制,保障数据在网络中的可靠传输。

2023-12-20 17:27:11 597

原创 数据结构-二叉树

二叉树是由节点组成的层级结构,每个节点最多有两个子节点:左子节点和右子节点。int data;// 节点的数据// 左子节点指针// 右子节点指针。

2023-12-18 19:31:56 359

原创 STC89C51 ADC

STC89C51的ADC模块用于将模拟信号转换为数字信号,使得单片机可以处理各种传感器输出的模拟信号。在深入了解寄存器之前,让我们先了解一下ADC的基本原理。AD转换结果寄存器,用于存储ADC转换后的数字信号。ADC工作完成后,ADDH和ADDL寄存器中的值将存储转换结果。ADC的工作流程主要包括配置、启动转换、等待转换完成和读取结果等步骤。ADCON寄存器是ADC控制寄存器,用于配置ADC的工作模式和时钟分频等参数。

2023-12-18 19:26:23 698

空空如也

空空如也

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

TA关注的人

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