自定义博客皮肤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)
  • 收藏
  • 关注

原创 基于STM32的FALSH读写与DAC功能播放音频

一、FLASH读写1、FLASH原理STM32F1 的闪存(Flash)模块由:主存储器、信息块和闪存存储器接口寄存器等 3 部分组成。下面我们就来介绍下这些组成部分:①主存储器。该部分用来存放代码和数据常数(如 const 类型的数据)。对于大容量产品,其被划分为 256 页,每页 2K 字节。注意,小容量和中容量产品则每页只有 1K 字节。从上图可以看出主存储器的起始地址就是0X08000000, BOOT0、BOOT1 都接 GND 的时候,就是从 0X08000000 开始运行代码的。②信息

2021-12-30 21:53:11 498

原创 基于STM32F103对SD卡的数据读取

一、SD卡简介1、SD卡引脚图SD卡一般支持两种读写模式,SPI和SDIO模式,SD卡的引脚排序如下图所示。SD卡引脚功能描述如下表所示:2、SD卡物理结构一张SD卡包括有存储单元、存储单元接口、电源检测、卡及接口控制器和接口驱动器5个部分,见图 362。存储单元是存储数据部件,存储单元通过存储单元接口与卡控制单元进行数据传输;电源检测单元保证SD卡工作在合适的电压下,如出现掉电或上状态时,它会使控制单元和存储单元接口复位;卡及接口控制单元控制SD卡的运行状态,它包括有8个寄存器;接口驱动器

2021-12-22 21:43:38 2441

原创 Altium Designer 18安装及stm32最小系统的电路原理图绘制

一、Altium Designer简介Altium Designer 是原Protel软件开发商Altium公司推出的一体化的电子产品开发系统,主要运行在Windows操作系统。这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,熟练使用这一软件使电路设计的质量和效率大大提高。二、Altium Designer下载及安装1、下载地址Altium Designer链接:http

2021-12-21 20:21:57 367

原创 基于CLion使用stm32F103点亮LED

一、安装CLion1、下载CLion官网地址:https://www.jetbrains.com/zh-cn/clion/download/#section=windows2、安装CLion(1)next(2)选择路径(3)如图选择(4)install(5)安装完成二、配置CLion1、安装配置 arm-none-eabi-gcc(1)下载地址:https://developer.arm.com/tools-and-software/open-source-software/de

2021-12-17 20:46:31 310

原创 Ubuntu(x86)系统和STM32(Keil)中内存分配对比

一、储存区介绍1、程序在内存中分区区域作用内存栈区存放局部变量名内存堆区存放new或者malloc出来的对象常数区存放局部变量或者全局变量的值静态区用于存放全局变量或者静态变量代码区二进制代码2、区的介绍(1)栈区(stack)–由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。(2)堆区(heap)–般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分

2021-12-15 20:50:48 1190

原创 将uc/OS-III移植到stm32F103上并创建多任务

一、准备uCOSIII源码1、官网下载:进入 Micrium 公司官网下载中心:http://micrium.com/downloadcenter/2、网盘下载:链接:https://pan.baidu.com/s/1Btj7foEXdXjjJWoZQsN-OQ提取码:mleh二、使用STM32CubeMX建立工程打开STM32CubeMX选择所用芯片,本次实验选择STM32F103C8T6进行如下配置三、移植过程(一)将uC/OS-III文件添加到工程文件1、在uC-BSP文件夹

2021-12-07 20:52:58 539

原创 基于STM32使用AHT20实现温湿度采集并在OLED显示

一、实现AHT20温湿度传感器的数据采集参考上一次实验博客:https://blog.csdn.net/Liang55_55/article/details/121474894二、主要代码main函数#include "delay.h"#include "usart.h"#include "bsp_i2c.h"#include "sys.h"#include "oled.h"#include "gui.h"#include "test.h"int main(void){ de

2021-11-22 17:27:00 557

原创 基于STM32使用OLED实现文字滚动

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

2021-11-22 17:14:17 1708

原创 基于STM32F103实现AHT20温湿度传感器的数据采集

一、I2C总线协议(一)什么是I2C协议I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。(二)I2C 协议的物理层和协议层①物理层I2C是一个支持设备的总线。可连接多个 I2C 通讯设备,支持多个通讯主机及多个通讯从机。对于I2C 总线,只使用两条总线线路,一条双向串行数据线(SDA) ,一条串行时

2021-11-22 16:57:07 4468

原创 在Ubuntu调用opencv库编程显示图片并叠加文字

一、汉字编码介绍(一)区位码(二)机内码(三)点阵字库储存(四)汉字点阵获取二、操作步骤(一)操作环境OpenCV(二)实验准备(1)下载中文点阵字库及显示工具程序(2)将所需文件及图片放入目录(三)代码(1)运行虚拟机并打开命令窗(2)添加代码#include<iostream>#include<opencv/cv.h>#include"opencv2/opencv.hpp"#include<opencv/cxcore.h>

2021-11-19 19:11:41 3062

原创 串口传输文件

一、实验设备杜邦线X2、两台PC机、2个USB转TTL模块二、操作步骤(一)接线RX->TXTX->RX(二)串口调试(1)打开串口调试助手,选择要传输的文件(2)传输中(3)发送端传输完成(4)接收端情况三、传输时间对比预计时间186s实际时间251s四、总结通过本次实验操作完成了串口传输文件,加深了对理论知识了解,通过对比发现实际传输时间要大于理论传输时间。...

2021-11-18 21:20:12 5873

原创 STM32采用串口DMA方式通信

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

2021-11-05 18:17:58 471

原创 采用串口中断方式实现串口通信

一、CUBEMX生成代码1)选择芯片STM32F103C82)配置时钟3)设置串口使其能中断3)时钟4)创建工程二、代码1)打开生成代码2)加入存放字符的数组uint8_t a[]="Hello world!\n";3)加入回转函数void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart){ HAL_UART_Transmit_IT(&huart1, a, sizeof(a));}4)在主函数中添加中断

2021-11-05 17:50:29 1027

原创 STM32中断模式实现点灯和串口通信

一、中断模式点亮LED(一)创建工程1)打开cubemx,新建工程选择芯片STM32F103C82)System Core->RCC->High Speed Clock(HSE)->Crystal3)SYS->Serial Wire4)PA1接LED,选择Output5)PB1接开关,选择EXTI6)选择上升沿触发7)选择该中端口8)如图示配置时钟9)命名及选择编译器(二)编写代码1)打开工程2)代码在图示位置加入代码void HAL_GPIO_EX

2021-11-05 17:13:20 191

原创 基于 MDK 创建 STM32 汇编程序

一、USART简介通用同步异步收发器(Universal Synchronous Asynchronous Receiver and Transmitter)是一个串行通信设备,可以灵活地与外部设备进行全双工数据交换。有别于 USART 还有一个UART(Universal Asynchronous Receiver and Transmitter),它是在 USART 基础上裁剪掉了同步通信功能,只有异步通信。简单区分同步和异步就是看通信时需不需要对外提供时钟输出,我们平时用的串口通信基本都是 UA

2021-10-27 22:34:22 109

原创 基于CubeMX和HAL库点亮LED流水灯

基于CubeMX和HAL库点亮LED流水灯一、安装CubeMX(一)安装CubeMX下载地址:https://www.st.com/en/development-tools/stm32cubemx.html以管理员身份运行安装程序点击done,安装完成。(二)安装固件库运行CubeMX,HELP->Manage embedded software paclages选择所需的安装,点击install now下载二、使用CubeMX生成相关代码(一)配置1)点击 new pr

2021-10-27 21:46:32 167

原创 基于STM32最小版的流水灯实验

目的:学习和理解STM32F103系列芯片的地址映射和寄存器映射原理;了解GPIO端口的初始化设置三步骤;寄存器方式点亮LED流水灯一、建立工程1、新建文件夹“流水灯”,在该文件夹下分别创建6个文件夹:CORE,HARDWARE,OBJ,SYSTEM,USER,FWLib。从固件库选择所需文件考入上诉文件夹中。...

2021-10-24 10:28:31 2322

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

一、C语言调用汇编函数建立工程选择芯片STM32F103VE配置环境编写C语言程序#include<stdio.h>extern void Init_1(void);int main(){ Init_1(); return 0;}编写汇编语言 AREA My_Function,CODE,READONLY EXPORT Init_1 Init_1 MOV R1,#0 MOV R2,#0 LOOP CMP R1,#10

2021-10-12 22:59:24 83

原创 Ubuntu下的OpenCV的安装及使用

一、OpenCV开源计算机视觉(OpenCV)是一个主要针对实时计算机视觉的编程函数库。二、安装 OpenCV(1)安装包下载国内快速下载地址:OpenCV/opencv_contrib国内快速下载 | 绕云技术笔记(2)解压缩包在解压缩包之前,将 opencv-3.4.11.zip 复制到 home 文件夹下,再解压缩。unzip opencv-3.4.11.zip(3)使用 cmake 安装 opencv首先进入解压后的文件夹:opencv-3.4.

2021-10-10 16:41:36 288

原创 gcc生成静态库和动态库及使用

一、动态库与静态库的概念:1、 如果要将多个.o 目标文件生成一个库文件,则存在两种类型的库,一种是静态库,另一种是动态库。2、在 windows 中静态库是以 .lib 为后缀的文件,共享库是以 .dll 为后缀的文件。在 linux 中静态库是以.a 为后缀的文件,共享库是以.so 为后缀的文件。3、静态库和动态库的不同点在于代码被载入的时刻不同。静态库的代码在编译过程中已经被载入可执行程序,因此体积较大。共享库的代码是在可执行程序运行时才载入内存的,在编译过程中仅简单的引用,因此代码

2021-10-10 14:34:36 377

原创 基于MDK创建纯汇编语言的STM32工程并观察最终生成 hex文件

1.新建工程点击菜单栏project,点击New uVision Project,创建新的工程如图设置文件路径及名称并保存。2.配置环境选择芯片STM32F103ZECMSIS下选择CORE; Device下Startup,其中包含了启动文件;鼠标右键Source Group1,选择Add New Item Group'Source Group 1'选择 Asm File (.s) ,创建汇编文件; 设置源文件的名称; 点击保存;3.代码调试添加测试代码 A.

2021-09-28 22:22:00 174

原创 Ubuntu系统使用

任务1. 在windows环境下通过虚拟机软件(比如Vmware、VirtualBox)安装Ubuntu 16.04/18.04 Desktop,并设置网络参数保证系统能上网;熟练掌握Ubuntu常用命令,并学习使用vi/vim、或nano、或gedit文本编辑软件。2. Ubuntu系统一般采用 apt-get 命令进行某个软件的在线查找和安装,默认官方的软件源仓库位于国外,下载速度较慢。请修改系统参数,选择国内镜像软件源仓库,以提高软件安装速度。3. 在Ubuntu系统下用C语言编写一个

2021-09-13 21:02:52 192

空空如也

空空如也

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

TA关注的人

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