自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 IIC通信协议学习笔记

I²C通信协议是一种两线式串行总线,由飞利浦公司开发,用于微控制器与外围设备通信。采用一主多从结构,通过SCL时钟线和SDA数据线实现同步数据传输。协议核心包括起始/停止信号、设备寻址、数据传输和应答机制。主设备通过7位地址+1位读写位选择从设备,每个字节传输后需等待从设备的ACK/NACK应答。数据传输时SDA在SCL低电平时变化,高电平时保持稳定。I²C具有线与特性,总线空闲时两根线均为高电平。标准模式支持100kHz,快速模式达400kHz。理解其时序对嵌入式开发至关重要。

2026-03-29 00:55:26 460

原创 STM32开发学习笔记之八【摄像头视频显示】

本文介绍了使用STM32CubeMX配置STM32H743VIT6驱动OV5640摄像头并显示视频的工程创建过程。主要内容包括:1)新建工程并选择芯片型号;2)配置SD卡接口(SDMMC1控制器、FAT32中间件);3)LCD接口设置(SPI数据接口、GPIO控制接口、PWM背光);4)摄像头接口配置(I2C控制接口、DCMI视频解析模块);5)RCC时钟源配置(HSE时钟、时钟树);6)生成工程文件。文章详细说明了各外设的引脚配置、参数设置及注意事项,为基于STM32的摄像头应用开发提供了完整参考。

2026-01-30 12:41:35 1557

原创 STM32开发学习笔记之七【LCD显示图片】

本文介绍了使用STM32CubeMX配置STM32H743VIT6开发板驱动ST7735 LCD屏幕显示图片的过程。主要内容包括:1)创建新工程并选择芯片型号;2)配置SD卡接口(4位总线模式)和LCD接口(SPI4半双工主模式);3)设置GPIO控制引脚和PWM背光调节;4)调整RCC时钟源和时钟树参数;5)启用FATFS中间件支持SD卡文件系统;6)生成工程文件并设置代码生成选项。通过STM32CubeMX工具完成了硬件接口配置和工程创建,为后续图片显示功能开发奠定了基础。

2026-01-28 18:33:31 810

原创 STM32开发学习笔记之六【LCD显示文字】

本文介绍了使用STM32CubeMX配置STM32H743VIT6驱动ST7735芯片LCD屏幕的完整过程。主要内容包括:1)新建工程并选择芯片型号;2)配置SPI4接口作为LCD数据通信接口,包括引脚重定向和参数设置;3)配置GPIO控制接口和PWM背光接口;4)RCC时钟源配置及时钟树调整;5)工程文件生成与MDK开发环境设置。文章详细讲解了从硬件接口配置到软件工程创建的完整流程,为开发160×80分辨率LCD的文字显示功能提供了完整的技术方案。

2026-01-27 14:26:00 899

原创 STM32开发学习笔记之五【SD卡读取】

本文介绍了基于STM32H743VIT6开发板实现FAT32文件系统下SD卡数据读取的方法。首先通过STM32CubeMX配置硬件架构,包括SDMMC1接口(4位总线模式)、USB-OTG-FS(Device模式)以及RCC时钟源。然后添加FATFS中间件支持SD卡访问,配置USB为VPC模式用于数据传输。工程生成后,在MDK开发环境中补充核心代码,包括USB打印函数封装和SD卡文件读取逻辑。最终实现单片机直接读取SD卡数据并通过USB上传到PC的功能。文章详细记录了从工程创建到功能实现的完整开发流程,为嵌

2026-01-14 19:58:45 453

原创 BMP图像之24位色转16位色算法实现

本文介绍了BMP图像文件格式及其24位色转16位色的算法实现。BMP是一种无压缩的光栅图像格式,主要由文件头(14字节)、信息头(40字节)和像素数据组成。文件头包含文件类型、大小和像素数据偏移量;信息头记录图像宽度、高度、位深度等关键参数。文章详细解析了BMP文件结构,并提供了Python代码示例来手动读取BMP文件信息。对于24位色转16位色转换,重点在于RGB颜色空间的重新映射和像素数据的重组处理,同时保持4字节对齐的存储特性。

2026-01-12 21:21:51 948

原创 STM32开发学习笔记之四【SD卡U盘】

本文介绍了基于STM32H743VIT6开发板实现SD卡U盘功能的开发过程。通过STM32CubeMX配置硬件架构,包括SDMMC1(4位宽总线模式)、USB_OTG_FS(设备模式)和USB Mass Storage Class中间件。重点讲解了时钟树配置(主频480MHz,USB 48MHz,SD卡25MHz)和工程生成设置。在MDK开发环境中,主要工作集中在usbd_storage_if.c文件中实现存储介质接口函数,完成USB与SD卡的连接功能。最终实现将SD卡通过STM32作为U盘使用的读卡器功能

2026-01-11 01:37:33 368 1

原创 STM32开发学习笔记之三【按键】

本文介绍了使用STM32CubeMX配置STM32H743开发板按键控制LED灯的完整流程。首先通过图形化界面配置PE3引脚为GPIO输出控制LED,PC13引脚为外部中断输入检测按键。详细说明了时钟树配置(400MHz主频)、NVIC中断使能等关键步骤,并演示了工程生成与Keil开发环境对接。该案例实现了硬件初始化代码的自动化生成,为后续按键中断控制LED功能开发奠定了基础。文中包含大量配置截图,完整呈现了从芯片选型到工程生成的全过程。

2026-01-09 22:25:31 1309

原创 STM32开发学习笔记之二【USB串口】

本文介绍了在STM32H743单片机上实现USB虚拟串口通信的方法。首先通过STM32CubeMX配置工程,选择芯片型号并开启USB_FS接口和中断功能。接着配置USB中间件和时钟系统,确保USB接口获得48MHz时钟。然后在Keil MDK中启用MicroLIB优化资源占用,并在USB中断接收函数中添加回环代码,实现数据接收后立即转发。最后通过设备管理器确认虚拟串口驱动安装,使用串口调试助手测试成功实现了数据收发功能。该方案为STM32开发提供了便捷的调试信息输出通道。

2026-01-09 16:34:34 1225

原创 利用Zerotier虚拟局域网远程连接mySQL数据库(保姆级)

Zerotier是一款用于构建异地虚拟局域网的工具,通过网页后台创建虚拟网络并进行IP管理,用电脑上的Zerotier客户端连接各异地电脑到虚拟局域网。实现同一虚拟局域网下各接入电脑的数据访问。接下来我们一步一步的构建虚拟网络。

2026-01-06 12:20:56 167

原创 STM32开发学习笔记之一【点亮led】

本文介绍了使用STM32CubeMX和HAL库开发STM32单片机的基本流程,重点讲解如何配置GPIO引脚点亮LED灯。文章首先对比了STM32开发的四种方案(裸机编程、标准库、HAL库和LL库)的优缺点,选择HAL库作为入门方案。然后详细说明了使用STM32CubeMX创建工程、选择芯片型号、配置GPIO引脚(设置PE3为输出模式)、时钟源(RCC配置选择HSE)和中断系统(启用SysTick)的具体步骤。通过图形化界面完成硬件初始化后,生成代码框架导入MDK开发环境即可实现LED控制功能。该教程适合ST

2026-01-03 12:49:36 1617

原创 Pycharm环境搭建学习笔记(Window)

安装Pycharm并在其中搭建深度学习训练环境

2025-11-30 00:06:55 1196 1

原创 OTSU算法学习笔记

想起来再说。

2024-07-17 15:50:37 798

原创 基于iTOP-4412开发板(精英版)(一)恢复出厂设置

恢复讯为iTop4412精英版出厂设置

2022-11-24 18:48:48 2210 2

原创 基于iTOP-4412开发板(精英版)的linux 4.14.2系统LED字符驱动程序设计

电路原理图

2021-07-01 06:40:08 2082

原创 基于iTOP-4412开发板(精英版)的linux 4.14.2根文件系统移植

准备工作虚拟机:VM-Ware 15.0 pro操作系统:Ubuntu Linux 16.04交叉编译器:arm-linux-gcc 4.6.2BusyBox:busybox-1.26.2.tar工作文件夹:/home/用户名/work一、编译Linux命令集1、BusyBox源码获取Busybox官方下载地址:https://busybox.net/busybox功能简介https://blog.csdn.net/feelinghappy/article/details/92133067

2021-06-15 17:24:19 4842 2

原创 Ubuntu系统中使用VSCode(Visual Studio Code)

一、软件下载安装去官网下载文件:https://code.visualstudio.com/docs?dv=linux64也可以用ubuntu自带的软件商店下载,本帖就采用这种方法。案例采用ubuntu16.04,操作如下图:首先单击APP商店图标,弹出窗口第二步输入vscode搜索应用程序,第三步单击install安装,安装过程如图:二、启动软件vscode用两种方法均可以启动,即用鼠标点击程序图标或者在终端输入命令1、鼠标操作首先单击应用程序图标,第二步单击APP图标,第三步在窗口中找

2021-06-08 11:36:02 12868 2

原创 基于iTOP-4412开发板(精英版)的linux 4.14.2内核移植

准备工作虚拟机:VM-Ware 15.0 pro操作系统:Ubuntu Linux 16.04交叉编译器:arm-linux-gcc 4.6.2工作文件夹:/home/用户名/work一、内核源码获取1、从linux官网下载内核从linux官网下载内核,linux 官方网站是https://www.kernel.org/ 如下图所示:2、将内核拷贝到虚拟机中解压下载完成后,在虚拟Ubuntu中的工作文件夹中建立kernel文件夹并将下载的压缩包拷贝进去:解压缩xz压缩包:xz -d

2021-06-07 14:56:16 10700 9

原创 黑金AX7Z100 FPGA开发板移植LWIP库(二)PL端

前言上一篇博文中实验了PS端移植LwIP库的演示程序。本篇接下来基于Vivado17.4整理比较详细的PL端移植过程。一、Vivado 工程建立1、新建一个空工程,名称为net_lwip_pl。2、FPGA芯片选择xc7z100ffg900-2。二、配置PS&PL系统硬件1、工程建好以后,接下来要配置PS与PL两端的系统硬件,这样我们可以借助串口和APU核通过PL端连接的网络IP接通网络。首先单击左侧导航栏的Create Block Design建立图形文件取名top,单击OK。

2021-02-14 20:41:29 2490 1

原创 黑金AX7Z100 FPGA开发板移植LWIP库(一)PS端

AX7Z100板移植LWIP

2021-02-12 23:27:51 3177 2

原创 快速指数运算:平方-乘算法

快速指数运算:平方-乘算法RSA 加解密中存在指数运算 xax^axa。解密过程中运算的指数a非常大,通常会大于等于1024 bit。一般方法直接计算 xax^axa的值, 即xxx…需要的运算量非常大不实用。平方-乘算法设y的初值为x,将a写成二进制形式即0001010…。接下来从左到右数a的每一bit,第一个1不算,从第一个1开始后面遇到0就 y<=y2y <= y^2y<=y2,遇到1就y<=y∗x2∗,y<=y∗xy <= y*x^2*,y<=y

2021-01-31 23:19:19 6280

转载 ECC椭圆曲线详解

前言ECC英文全称"Ellipse Curve Cryptography"与传统的基于大质数因子分解困难性的加密方法不同,ECC通过椭圆曲线方程式的性质产生密钥ECC164位的密钥产生一个安全级,相当于RSA 1024位密钥提供的保密强度,而且计算量较小,处理速度更快,存储空间和传输带宽占用较少。目前我国居民二代身份证正在使用 256 位的椭圆曲线密码,虚拟货币比特币也选择ECC作为加密算法。从射影平面讲起古希腊数学家欧几里得的《几何原本》提出了五条公设。1.由任意一点到任意一点可作直线。2.一

2021-01-28 16:42:19 1902

空空如也

空空如也

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

TA关注的人

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