- 博客(58)
- 问答 (2)
- 收藏
- 关注
原创 STM32学习笔记(十)--I2C、IIC总线协议详解
I2C (Inter-Integrated Circuit),也称为IIC,是一种用于短距离、板内通信的串行总线协议,由Philips公司开发。典型应用包括连接微控制器和外围设备,如传感器、存储器和显示屏等。
2024-06-19 09:25:39 1627 1
原创 QT 多线程 QThread
继承QThread是创建线程的一个普通方法。其中创建的线程只有方法在线程里的。其他类内定义的方法都在主线程内。通过上面的图我们可以看到,,但是run()。run()方法是继承于QThread类的方法,用户需要重写这个方法,一般是把耗时的操作写在这个 run()方法里面。QThread类继承线程,然后在MainWindow类里使用。通过点击一个按钮开启线程。当线程执行完成时,会发送 resultReady(const QString &s)上述代码很简单,相信都能看懂。
2024-07-12 16:09:36 427
原创 C语言——关键字 static volatile const extern 用法
C语言——关键字 static volatile const extern 用法
2024-06-24 11:39:42 206
原创 SHA256 安全散列算法加速器实验
SHA256 加速器是用来计算 SHA-256 的计算单元,SHA256 是 SHA-2 下细分出的一种算法。SHA-2 名称来自于安全散列算法 2(英语:Secure Hash Algorithm 2)的缩写,一种密码散列函数算法标准,由美国国家安全局研发,由美国国家标准与技术研究院(NIST)在 2001 年发布。属于 SHA 算法之一,是 SHA-1 的后继者。其下又可再分为六个不同的算法标准,包括了:SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224、SH
2024-06-22 15:00:48 1301
原创 AES 高级加密加速器实验
Kendryte K210 内置 AES(高级加密加速器),相对于软件可以极⼤的提高 AES 运算速度。 AES 加速器支持多种加密/解密模式(ECB,CBC,GCM),多种⻓度的 KEY(ECB,CBC,GCM)的运算。
2024-06-22 14:52:41 426
原创 Linux驱动开发(三)--新字符设备驱动开发 LED驱动开发升级
字符设备驱动开发重点是使用 register_chrdev 函数注册字符设备,当不再使用设备的时候就使用unregister_chrdev 函数注销字符设备,驱动模块加载成功以后还需要手动使用 mknod 命令创建设备节点。register_chrdev 和 unregister_chrdev 这两个函数是老版本驱动使用的函数,现在新的字符设备驱动已经不再使用这两个函数,而是使用Linux内核推荐的新字符设备驱动API函数。
2024-06-21 09:47:54 145
原创 Linux驱动开发(二)--字符设备驱动开发提升 LED驱动开发实验
驱动开发环境准备:设置开发环境,包括安装适当的开发工具链、编译器和调试工具。确保有适当版本的Linux内核源码以及相关的头文件。字符设备驱动框架:理解字符设备驱动的基本框架和组成部分。注册字符设备和定义设备操作(file_operations)结构体。LED驱动基础:了解LED驱动的基本工作原理和硬件接口。确定LED的控制方式(如GPIO控制)和电路连接。
2024-06-20 14:07:21 135
原创 STM32学习笔记(十一)--SPI总线协议详解
SPI(Serial Peripheral Interface)是一种同步串行通信接口,用于在微控制器与外部设备之间传输数据。SPI具有高速传输和简单硬件实现的优点,通常用于连接外围设备,如传感器、存储器、显示器等。
2024-06-20 10:47:07 270
原创 Linux驱动开发(一)--字符设备驱动开发基础
本章会以一个虚拟的设备为例,讲解如何进行字符设备驱动开发,以及如何编写测试 APP 来测试驱动工作是否正常,为以后的学习打下坚实的基础。
2024-06-19 09:42:50 391
原创 STM32学习笔记(九)--串口 UART/USART详解
UART (Universal Asynchronous Receiver/Transmitter) 是一种异步串行通信协议,不依赖于共享时钟信号。USART (Universal Synchronous/Asynchronous Receiver/Transmitter) 支持同步和异步两种通信模式,比UART功能更强大。
2024-06-19 09:16:56 419
原创 STM32学习笔记(八)--DMA直接存储器存取详解
DMA(Direct Memory Access,直接存储器存取)是一种允许外设与存储器之间直接进行数据传输的技术,不需要CPU参与,极大提高了数据传输效率。
2024-06-18 09:21:03 302
原创 STM32学习笔记(七)--ADC详解
模数转换器(ADC, Analog-to-Digital Converter)是将模拟信号转换为数字信号的电子器件。在STM32中,ADC模块可以采集模拟电压,并将其转换为数字量,以便微控制器进行处理。
2024-06-18 09:16:48 604
原创 STM32学习笔记(六)--引脚重映射详解
引脚重映射(Pin Remapping)是STM32微控制器提供的一种灵活功能,用于在外设功能引脚发生冲突时重新分配引脚。这在多外设并行使用时尤为重要。
2024-06-17 09:33:20 351
原创 STM32学习笔记(五)--TIM输出比较PWM详解
PWM(脉宽调制)是通过控制脉冲的宽度来调节功率输出的一种技术。在STM32微控制器中,PWM信号的产生主要依赖于定时器(TIM)的输出比较功能。以下是有关STM32定时器输出比较PWM的
2024-06-17 09:20:01 1270
原创 RAM、ROM、flash、eMMC(通俗易懂)
类似硬盘,它将NAND Flash与控制器集成为一体,通过内在的控制器管理Flash,这样CPU可不再为Flash不断更新制程而烦恼兼容性问题。区别:NAND型写入速度和擦除速度快、最大擦除次数多,大容量下NAND型比NOR型成本要低很多,体积也更小;NOR型支持片上执行,可以在上面直接运行代码,软件驱动比 NAND 简单,一般小容量的用NOR 型因为小容量NOR读取速度快。容量和速度:RAM的容量可以从几兆字节(MB)到数百GB不等,速度非常快,可以通过高速总线迅速访问数据。,因此被称为非易失性存储器。
2024-06-15 19:02:57 405
原创 Linux内核中的锁
不同的锁,作用对象是不一样的,也就是作用域不一样临界区CPU内存cache补充:cache是一种缓存,包含硬件缓存(CPU缓存)以及软件缓存(网页缓存,数据缓存)补充:临界区用于描述。通常,这些代码区域涉及对共享资源的访问。
2024-06-15 19:01:31 698
原创 STM32学习笔记(四)--TIM定时器中断详解
TIM定时器中断是STM32微控制器的一种定时功能,允许在设定的时间间隔内触发中断服务程序。定时器可以用于周期性任务、精确延时、PWM信号产生等。
2024-06-14 09:31:05 1112
原创 STM32学习笔记(三)--EXTI外部中断详解
外部中断(External Interrupt,EXTI)是STM32微控制器的一种中断方式,允许外部事件(如按键按下或传感器信号变化)触发中断服务程序。EXTI可以提高系统响应速度,减少CPU的轮询时间。
2024-06-14 09:17:13 1490
原创 STM32学习笔记(二)--GPIO通用输入输出口详解
摘要:GPIO(General Purpose Input/Output,通用输入输出口)是STM32微控制器中的重要功能模块,用于控制外部设备的输入和输出。本文将深入探讨STM32的GPIO模块,包括引脚的基本功能、工作模式、输入输出配置、中断控制以及常见的应用示例。通过理解STM32的GPIO功能,开发者能够有效地控制外部设备、处理外部信号,并实现复杂的嵌入式系统功能。
2024-06-13 10:53:20 570
原创 STM32学习笔记(一)--时钟树详解
摘要:STM32微控制器的时钟系统是其功能的核心,决定了设备的性能和稳定性。本文将深入探讨STM32的时钟树结构,包括内部时钟源、PLL锁相环、分频器等组成部分,以及如何通过STM32CubeMX工具进行时钟配置和初始化代码生成。深入理解时钟树对于正确配置STM32设备的时钟,并实现稳定和高效的应用程序至关重要。
2024-06-13 10:45:16 641
原创 【FreeRTOS】任务通知 Task Notifications(附源码)
任务通知的优势:效率更高:使用任务通知来发送事件、数据给某个任务时,效率更高。比队列、信号量、事件组都 有大的优势。更节省内存:使用其他方法时都要先创建对应的结构体,使用任务通知时无需额外创建结构体。
2024-06-12 09:47:21 604
原创 【FreeRTOS】事件组 event group(附源码)
介绍FreeRTOS中事件组,事件组是一种用于同步多个任务之间的状态和行为的机制。在操作系统中,事件组通常由操作系统提供,用于实现任务间的通信和同步。
2024-06-11 11:30:56 1492
原创 嵌入式Linux中OpenSSH移植到ARM开发板
专为远程登录会话和其他网络服务提供安全性的协议,OpenSSH 是 SSH 协 议的免费开源版本,本章我们就来学习一下如何在开发板中移植OpenSSH,实现 SSH 服务。
2024-06-11 10:59:46 1268
STM32+esp8266上云的智能家居项目工程源码(教程+硬件清单)
2024-06-11
c#子窗体怎么传数组给主窗体
2022-05-19
c#字符串数组的拼接和连接问题
2022-05-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人