自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 音频数据的SD/Flash读取与DAC播放

文章目录一、预备实验1、问题描述2、ST-LINK准备3、Flash地址空间的数据读取一、预备实验1、问题描述1)在SD卡创建一个test-speed.txt文件,循环(不加延时)分批一次写入256字节,累计写入不少于64KB字节;然后读取此文件数据,通过串口显示出来。分析写入和读取的速率。2)Flash地址空间的数据读取。stm32f103c8t6只有20KB 内存(RAM)供程序代码和数组变量存放,因此,针对内部Flash的总计64KB存储空间(地址从0x08000000开始),运行一次写入8

2021-12-30 16:45:41 4041

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

文章目录

2021-12-21 22:17:47 6049 5

原创 Ubuntu、stm32下的程序内存分配问题

文章目录一、C程序的内存分配二、STM32中的堆栈三、Ubuntu,stm32开发板编程,输出信息进行验证1、Ubuntu上运行2、STM32(Keil)中进行验证四、总结一、C程序的内存分配一般程序占用的内存分为以下几个部分:1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收。它与数据结构中的堆是两回事,分配方式类似于链表。3、全局区(静态区

2021-12-20 16:09:22 517

原创 安装Clion2021完成stm32F103 点亮LED的程序

文章目录一、 CLion 介绍二、安装 CLion20211、下载clion2、运行clion3、安装Stm32cubeMX4、安装arm-none-eabi-gcc5、安装openocd6、安装MinGW7、添加系统环境变量二、配置Clion三、实现工程1、生成stm32cubemx程序2、基本配置led流水灯3、添加代码与编译4、烧录运行四、总结一、 CLion 介绍Clion 是一款专门开发 C 以及 C++ 所设计的跨平台的 IDE。它是以 IntelliJ 为基础设计的,包含了许多智能功能来提

2021-12-14 10:21:35 603

原创 uc/OS系统移植

文章目录一、uc/OS-III二、准备项目文件1、获取uC/OS-III源码2、新建文件夹3、添加文件三、使用 CubeMX 建立 STM32F103 HAL 库工程四、代码1、代码修改2、编译烧录五、为 HAL 库工程移植文件5.1 为 HAL 工程配置 uCOS 相关文件学习嵌入式实时操作系统(RTOS),以uc/OS-III为例,将其移植到stm32F103上,构建至少3个任务(task):其中两个task分别以1s和3s周期对LED等进行点亮-熄灭的控制;另外一个task以2s周期通过串口发送“

2021-12-04 13:07:51 716

原创 基于SPI通信方式的OLED显示

文章目录一、SPI(串行外设接口)与OLED显示屏1.1 SPI简介1.2 SPI连接1.3 SPI的通讯过程2.1 OLED简介2.2 OLED接口定义二、显示自己的学号和姓名1、中文的点阵(16*16)2、程序代码3、编译烧录结果理解OLED屏显和汉字点阵编码原理,使用STM32F103的SPI或IIC接口实现以下功能:显示自己的学号和姓名显示AHT20的温度和湿度;上下或左右的滑动显示长字符一、SPI(串行外设接口)与OLED显示屏SPI是串行外设接口(Serial

2021-11-25 10:49:09 4775

原创 基于I2C/SPI总线的温湿度采集

文章目录一、I2C总线通信协议1、 I2C协议简介2、I2C工作原理3、I2C 协议的物理层和协议层4、I2C的两种方式——硬件I2C和软件I2C二、实现AHT20采集程序1、硬件连接2、代码实现3、结果显示:三、总结一、I2C总线通信协议1、 I2C协议简介I2C通讯协议(Inter-Integrated Circuit)是由Phiilps公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。由于它引脚少,硬件实现简单,可扩展性强,不需要USART、CA

2021-11-25 10:47:22 147

原创 点阵汉字与串口传输文件的练习

文章目录一、汉字编码1、国标码2、 区位码3、机内码四、点阵字库二、利用openmv在图片上显示字体一、汉字编码1、国标码1980年,我国颁布了汉字编码的标准:GB2312-80《信息交换汉字编码字符集》,简称国标码。国标码是4位十六进制数组成。2、 区位码GB2312是一种汉字编码方式,具体由区位码实现,GB2312将所有汉字编入一个94*94的二维表中,行和列共同定位一个字,行就是“区”,列就是“位”,合并就为区内码。区位码是一组4位十进制的数,前两位是区码,后两位是位码。例如:譬如 “万

2021-11-15 17:03:14 357

原创 STM32中断与DMA通信编程

文章目录一、关于中断、DMA通信原理1.1中断1.2外部中断2.1DMA通信原理2.2DMA的主要特征2.3DMA传输方式一、关于中断、DMA通信原理1.1中断中断,在单片机中占有非常重要的地位。代码默认地从上向下执行,遇到条件或者其他语句,会按照指定的地方跳转。而在单片机执行代码的过程中,难免会有一些突发的情况需要处理,这样就会打断当前的代码,待处理完突发情况之后,程序会回到被打断的地方继续执行。优先级在中断里是一个非常重要的概念,如果同时产生多个中断,CPU会根据他们的优先级来选择这些中断的处

2021-11-03 14:04:45 2263

原创 基于是stm32的串口通信

文章目录一、串口协议和RS-232标准(一)、TTL电平标准(二)、RS232标准二、搭建STM32开发环境1.安装jdk2.安装STM32CubeMX一、串口协议和RS-232标准串口通信指串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。在串口通讯的协议中,规定了数据包的内容,它由启始位、数据位、校验位以及停止位组成,通讯双方的数据包格式要约定一致才能正常收发数据。RS-232(ANSI/EIA-232标准)是

2021-10-26 16:48:10 5578

原创 以 STM32点亮流水灯

问题描述、以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED 搭建电路,使用GPIOB、GPIOC、GPIOD这3个端口控制LED灯,轮流闪烁,间隔时长1秒。1)写出程序设计思路,包括GPIOx端口的各寄存器地址和详细参数;2)分别用汇编语言,C语言编程实现。一、工程模板的建立1、新建相关文件新建总文件夹,用来存放本次工程的所有程序,然后再建CORE、HARDWARE、OBJ、FWLIB、SYSTEM、USER这六个文件夹。其中,HARDWARE文件夹是用来

2021-10-23 15:57:12 1806

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

一、创建项目1、创造新项目2、选择STM32F103C83、勾选Device-startup ,否则可能会报错点击Ok。二、程序编写

2021-10-12 20:29:18 217

原创 opencv图像库编程

一、安装 OpenCV1、下载 OpenCV 3.4.11 数据包国内快速下载地址:https://www.bzblog.online/wordpress/index.php/2020/03/09/opencvdownload/可以直接在虚拟机中使用浏览器进行下载2、解压缩包在解压缩包之前,将 opencv-3.4.11.zip 复制到 home 文件夹下,再解压缩unzip opencv-3.4.11.zip③使用 cmake 安装 opencv首先进入解压后的文件夹:opencv-3

2021-10-09 11:45:32 337

原创 Linux下的gcc练习

一、 用gcc生成静态库和动态库通常会把一些公用函数制作生成函数库。静态库:在程序编译时会被连接到目标代码中,程序运行是则不需要静态库的存在。动态库:在程序编译时不会被连接到目标代码中,而是程序运行时载入的。两者区别:前者是编译连接的,后者是程序运行载入的。1、编辑生成程序 hello.h、hello.c 和 main.c(1)创建test1用于保存本次练习所需要的文件(2)用 vim文本编辑器编辑生成所需要的 3 个文件hello.h#ifndef HELLO_H#define HE

2021-10-07 14:15:20 382

原创 基于MDK创建纯汇编语言的STM32工程

基于MDK创建纯汇编语言的STM32工程一、创建一个新工程1、创建工程点击菜单栏的Project——在弹出的窗口点击选项New uVision Project创建新的工程——在弹出的窗口分别设置:设置项目工程的路径;设置项目工程的名称;点击保存。二、配置环境1、选择对应芯片,本文章采用的STM32F103RC2、选择运行环境ARM的CMSIS已经把开发所需要的软件组件都封装好了,因此直接选择即可;CMSIS下选择CORE;Device下Startup,其中包含了启动文件;3、添

2021-09-26 21:06:15 117

原创 Ubuntu系统下初编译

这里是引用一、 Ubuntu系统下软件的在线查找和安装在ubuntu下打开终端输入 sudo apt-get install vim安装vim编辑器sudo apt-get install gcc安装gcc编译器在安装软件包时如果出现Could not get lock /var/lib/dpkg/lock-frontend,经重复翻车试验后,解决方法如下:...

2021-09-14 12:19:18 2506

空空如也

空空如也

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

TA关注的人

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