自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 音频数据的Flash读取

一、Flash简介Flash 是存储芯片的一种,通过特定的程序可以修改里面的数据。Flash 存储器又称闪存,它结合了ROM 和RAM 的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM 的优势), U 盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash 全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader 以及操作系统或者程序代码或者直接当硬盘

2022-01-08 22:27:40 885

原创 Ubuntu与STM32之内存分配

一、内存分配栈区(stack)由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。堆区(heap)一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 。它与数据结构中的堆不同,分配方式类似于链表。全局区(静态区)(static)全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量、未初始化的静态变量在相邻的另一块区域。当程序结束后,变量由系统释放 。文字常量区存放常量字符串。当程序结束

2021-12-23 20:25:34 161

原创 STM32完成对对SD卡的数据写入

一、SD卡模块介绍SD存储卡是一种基于半导体快闪记忆器的新一代记忆设备,由于它体积小、数据传输速度快、可热插拔等优良的特性,被广泛地于便携式装置上使用,例如数码相机、平板电脑和多媒体播放器等。控制器对 SD 卡进行读写通信操作一般有两种通信接口可选,一种是 SPI 接口,另外一种是 SDIO 接口。SDIO协议简介SDIO 全称是 安全数字输入/输出接口,多媒体卡(MMC)、SD卡、SD I/O卡 都有 SDIO接口。STM32F103系列控制器有一个 SDIO主机接口,它可以与 MMC卡、SD卡、S

2021-12-23 20:22:40 443 1

原创 Clion源码编辑器的学习与实践

一、CLion 简介Clion 是一款专门开发 C 以及 C++ 所设计的跨平台的 IDE。它是以 IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力。这种强大的 IDE 帮助开发人员在 Linux、OSX 和 Windows 上来开发C/C++,同时它还能使用智能编辑器来提高代码质量、自动代码重构并且深度整合 Cmake 编译系统,从而提高开发人员的工作效率CLion 支持 GCC、clang、MinGW、Cygwin 编译器以及 GDB 调试器。提供对 Cmake 支持:包

2021-12-14 22:48:01 1000

原创 学习嵌入式实时操作系统(RTOS),以uc/OS-III为例

一、下载uC/OS-III源码官网下载地址:http://micrium.com/downloadcenter/官网下载涉及到账号注册等比较繁琐的过程,笔者在网盘下载的。二、准备项目文件新建文件夹下载好 uC/OS-III 源码文件之后,在下面所示的文件夹里新建两个文件夹 uC-BSP 和 uC-CONFIG为 uC-BSP 文件夹添加文件在 uC-BSP 文件夹中新建 bsp.c 和 bsp.h 空文件,后续会使用到为 uC-CONFIG 文件夹添加文件三、用 CubeMX 建立

2021-12-05 12:59:02 833

原创 STM32与OLED显示姓名学号

一、SPI简介SPI是串行外设接口(Serial Peripheral Interface)的缩写,是由 Motorola 公司提出的一种高速的,全双工,同步的通信总线,被广泛地使用在 ADC、LCD 等设备与 MCU 间要求通讯速率较高的场合。SPI总线系统可直接与各个厂家生产的多种标准外围器件连接,该接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOST和低电平有效的从机选择线C/S(有的SPI接口芯片带有中断信号线INT或INT、有的SPI接口芯

2021-11-19 16:05:46 6954 1

原创 基于STM32温、湿度采集输出

一、I2C通信协议I2C协议简介I2C通讯协议(Inter-Integrated Circuit)是由Phiilps公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。二、I2C的实现方式1.软件I2C将芯片的两个GPIO引脚分别用作SCL及SDA,按照I2C的时序要求,直接控制引脚的输出信号(若是接收数据时

2021-11-19 15:32:59 506 1

原创 串口传输文件

一、连接串口准备两个串口和杜邦线,将两个串口 的RX,TX引脚交叉连接,两个串口3V3和GND对应相接,并将两个串口分别接在计算机的USB接口。接入计算机的USB接口:二、传输文件利用串口传输调试助手,点击打开串口,选择的波特率是115200,数据位8,停止位1,无校验位。注:一定要 勾选保存数据选项,不然传输的文件不会保存传输文件选择需要传输的文件,点击发送更改波特率会加快传输速度,这里就不做截图演示。接收文件接收到的文件接收成功后会在串口调试助手文件夹下生成.DAT文件

2021-11-14 12:52:53 704

原创 汉字点阵库使用原理

一、 汉字编码1. 区位码在国标 GD2312—80 中规定,所有的国标汉字及符号分配在一个 94 行、94 列的方阵中,方阵的每一行称为一个“区”,编号为 01 区到 94 区,每一列称为一个“位”,编号为01 位到 94 位,方阵中的每一个汉字和符号所在的区号和位号组合在一起形成的四个阿拉伯数字就是它们的“区位码”。区位码的前两位是它的区号,后两位是它的位号。用区位码就可以唯一地确定一个汉字或符号,反过来说,任何一个汉字或符号也都对应着一个唯一的区位码。汉字“母”字的区位码是 3624,表

2021-11-13 17:57:37 4207

原创 DMA串口通信

DMA简介DMA,全称Direct Memory Access,即直接存储器访问。DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。定义DMA用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU的干预,通过DMA数据可以快速地移动。这就节省了CPU的资源来做其他操作。DMA传输方式DMA的作用就是实现数据的直接传输,而去掉了传统数据传输需要CPU寄存器参与的环节,主要涉及四种情况的数据传输,但本质上是一样的,都是从

2021-11-05 23:27:12 206

原创 STM32中断控制LED灯闪烁

文章目录一、中断1、中断全过程2、中断优先级3、HAL库外部中断处理流程4、中断回调函数二、实现LED灯三、实现项目四、实验结果五、串口通信一、中断1、中断全过程中断发生当CPU在处理某一事件A时,发生了另一事件B,请求CPU迅速去处理中断处理CPU暂停当前的工作,转去处理事件B中断返回当CPU将事件B处理完毕后,再回到事件A中被暂停的地方继续处理事件A示意图2、中断优先级NVIC中有一个8位中断优先级寄存器NVIC_IPR,理论上可以配置0~255共256级中断。STM32只使用了

2021-11-05 23:20:28 4082

原创 Yolov5目标检测程序的安装与测试

一、下载YOLOv5源码下载地址:https://github.com/ultralytics/yolov5二、下载Git直接百度搜索Git下载就行,进入官网会自动识别本机系统,笔者的就是Windows,下载安装即可!三、创建项目文件夹打开Anaconda Prompt,在命令行窗口依次输入以下命令:md Projectcd Projectmd Yolov5cd Yolov5在根目录下创建一个名为Project的文件夹,再在其下创建一个名为Yolov5的文件夹,用以存放相关文件。创

2021-11-03 17:26:17 357

原创 Windows系统下Opencv的安装与使用

创建虚拟环境打开Anaconda Prompt,创建用于安装一个虚拟环境conda create -n py36 python=3.6 anaconda输入y回车等待安装完成即可!!!安装完成会在开始菜单栏出现Anaconda Prompt(py36),如图:安装Opencv进入创建好的虚拟环境activate py36换源下载opencv-python,版本自行根据需要选择pip install opencv-python==3.4.1.15 -i http://pypi.dou

2021-10-27 09:21:47 340

原创 STM32系统连续发送“hello windows

创建工程参考博客:Keil5 MDK版的STM32工程创建注意有一个地方不同,此处的勾选均不需要。输入汇编代码;RCC寄存器地址映像 RCC_BASE EQU 0x40021000 RCC_CR EQU (RCC_BASE + 0x00) RCC_CFGR EQU (RCC_BASE + 0x04) RCC_CIR EQU (RCC_BASE + 0

2021-10-26 22:48:10 113

原创 STM32实现LED闪烁——基于HAL库

一、安装STM32CubeMX官网地址:下载链接具体过程可参考博客:STM32CubeMX安装教程二、配置STM32CubeMX打开STM32CubeMX,选择Help下的Manager embedded software packages芯片选择STM32F1选择INstall Now,此过程需要联网三、创建工程点击File选项下的New project选择芯片在Part Number处输入自己的芯片型号,笔者的为STM32F103C8。选择system core下的sys

2021-10-26 22:07:15 402

原创 Anaconda下的Python安装与环境配置

一、实验目的在Windows系统下配置Python环境,为后续实验做准备,同时让学生理解如何配置一个良好的Python环境。二、实验内容Anaconda的安装与常用命令小总Jupyter的安装与相关配置CUDA与Cudnn的安装(GPU支持必备)建立tf虚拟环境并安装tf2.0GPU版本建立pytorch虚拟环境并安装pytorchGPU版本三、Anaconda的安装与常用命令1. Anaconda的下载与安装Anaconda官网:https://www.anaconda.com/,

2021-10-24 16:26:49 2953

原创 STM32F103寄存器方式点亮LED流水灯

寄存器简介寄存器,根据百度百科介绍,寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。通俗的讲,寄存器就是存放东西的。存放的东西不过是由我们客观上的东西变为了指令、数据或地址。GPIO简介GPIO(General-Purpose IO ports),也就是通用输入输出口。一个GPIO端口至少需要两个寄存器,一个做控制用的“通用IO端口控制寄存器”,还有一个是存放数据的“通用I/O端口数据寄存器”。数据寄存器的每一位是和GPIO的硬件引脚对应的,而数

2021-10-22 11:23:22 115

原创 STM32与C语言及汇编语言的混合编程

一、创建工程具体过程请参考博客Keil5 MDK版的STM32工程创建,过程就不在多做赘述。二、汇编与C语言含有参数的调用汇编代码Func.s AREA MY_Function,CODE,READONLY EXPORT Init_1 ; 与在c文件中定义的Init_1函数关联起来; 高级语言中的声明和使用变量其实是对板子寄存器的使用,所以我们只需要直接使用寄存器即可Init_1 ADD R0,#100 ; 将传入的值+100 MOV PC,LR ; 返回R0 L

2021-10-11 21:02:12 69

原创 与Opencv殊死搏斗的故事

安装Opencv下载 OpenCV 3.4.11 数据包国内快速下载地址:https://www.bzblog.online/wordpress/index.php/2020/03/09/opencvdownload

2021-10-07 23:48:38 503

原创 GCC不是一个人在战斗

Linux GCC 常用命令GCC简介GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等。而 GCC 也不再单只是 GNU C 语言编译器的意思了,而是变成了 GNU Compiler Collection 也即是 GNU 编译器家族的意思了。另一方面,说到 G

2021-10-07 14:10:14 77

原创 GCC与opencv的故事

gcc生成静态库.a与动态库.so用gcc生成静态库创建目录mkdir homeworkcd homework在homework文件夹下编写文件gedit hello.h在这里插入代码片

2021-10-07 13:49:54 506

原创 Keil5 MDK版的STM32工程创建

文章目录1、新建工程2、配置环境二级目录三级目录## 标题二级目录三级目录二、环境配置2.1选择芯片2.2选择运行环境1、新建工程2、配置环境二级目录三级目录## 标题二级目录三级目录打开***keil5***软件,点击菜单栏的***项目***:选择***新uVision项目…***在新弹出的窗口选择保存路径。二、环境配置2.1选择芯片点击添加的芯片包左边的+号:选择STM32F103:可根据自己情况选择选择与自己匹配的芯片:2.2选择运行环境...

2021-09-25 21:05:04 434

原创 基于Ubuntu系统下的第一个C程序

初次在Linux(Ubuntu版)下编写简单程序实验以前编写程序都是在Windows系统下使用Dev C++编写,此次实验要求在Linux系统下编写简单程序并编译运行。实验目的熟练掌握Ubuntu常用命令,并学习使用vi/vim、或nano、或gedit文本编辑软件。实验内容编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;

2021-09-10 09:01:15 130

空空如也

空空如也

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

TA关注的人

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