- 博客(22)
- 资源 (3)
- 收藏
- 关注
原创 STM32利用flash读取音频数据读取与DAC播放
目录一、博客内容二、Flash地址空间的读取2.1 Flash原理2.2 软、硬件准备2.3 利用CubeMX建立工程2.4 工程代码2.5ST-Link的使用2.6 仿真调试三、基于片内flash的提示音播放程序3.1使用DAC输出周期2khz的正弦波3.2 使用DAC输出数字音频歌曲数据转换为模拟音频波形输出四、参考资料一、博客内容1、Flash地址空间的数据读取。stm32f103c8t6只有20KB 内存(RAM)供程序代码和数组变...
2021-12-30 17:41:03 764
原创 基于STM32Cube完成对SD卡的数据读取(FAT文件模式)
目录一、创建工程二、代码移植2.1 下载源代码2.2 移植文件三、代码修改四、硬件连接4.1 SD卡的硬件连接4.2 串口的连接五、成功展示六、参考资料一、创建工程①打开CubeMX,选择STM32F103RC芯片,点击Start Project进入工程配置②点击FATFS,勾选User-defined③配置SYS如下图④配置PA4口为Output点击GPIO,将PA4的User Label修改为SD_SC⑤将S...
2021-12-21 11:36:00 1330
原创 Altium Designer 18的安装及stm32+SD卡 的系统原理图设计
本文内容:掌握电路原理图绘制。安装Altium Designer 18,学习使用Altium Designer绘制一个stm32最小系统的电路原理图,并在此基础上完成STM32+SD卡 的系统原理图设计。一、Altium Designer 18的安装1.1 下载Altium Designer 18链接:https://pan.baidu.com/s/1Hmka5yy1KMviP55Q7ib-3Q提取码:cqjt1.2 安装Altium Designer 18解压缩Altium_...
2021-12-19 16:57:22 836
原创 Ubuntu系统及STM32下的程序内存分配问题
目录一、全局变量&局部变量1.1 全局变量1.2 局部变量1.3 两者的区别二、堆 & 栈2.1STM32中的堆栈2.2程序的内存分配三、stm32数据的存储位置3.1 RAM3.2 ROM四、Ubuntu系统中编程验证4.1 添加代码4.2 编译运行代码五、STM32(Keil)编程验证5.1 工程创建5.2 修改main.c函数5.3编译及结果六、参考资料本文的主要内容为:编写一个C程序,重温全局变量...
2021-12-15 18:42:53 542
原创 Clion2021的安装教程并基于Clion实现stm32点亮LED
目录一、什么是Clion二、安装Clion20212.1 安装包下载2.2 安装步骤2.3安装配置 arm-none-eabi-gcc2.4安装配置 MinGW2.5安装配置 OpenOCD三、配置Clion3.1创建新工程3.2配置 Toolchains3.3配置CMake3.4配置Embedded Development四、利用Clion点亮LED4.1生成stm32cubemx程序4.2基本配置led流水灯4.3...
2021-12-12 21:10:38 1744
原创 基于STM32F103RC移植uc/OS系统
目录一、获取uc/OS-III源码二、使用CubeMX创建基础stm32框架三、文件准备四、路径添加五、代码修改六、成功展示七、使用Keil仿真逻辑仪观察引脚电平变化八、参考资料本文内容:以uc/OS-III为例,将其移植到stm32F103上,构建3个任务(task):其中两个task分别以1s和3s周期对LED等进行点亮-熄灭的控制;另外一个task以2s周期通过串口发送“hello uc/OS! ”。分别使用Keil虚拟仿真逻辑仪...
2021-12-03 23:08:01 742
原创 基于SPI协议OLED屏显实例
目录一、SPI协议1.1 SPI简介1.2 SPI四线1.3SPI四种工作模式1.4SPI时序图二、项目实现2.1 实验准备2.2 字模提取2.3 程序代码2.4 硬件连接2.5 成果展示三、参考文献本文内容:理解OLED屏显和汉字点阵编码原理,使用STM32F103的SPI接口实现以下功能:1) 显示自己的学号和姓名;2) 显示AHT20的温度和湿度;3) 上下或左右的滑动显示长字符。一、SPI协议1.1 SPI...
2021-11-20 22:18:50 4395 1
原创 基于I2C协议的AHT20温湿度传感器的数据采集
目录一、I2C通信协议1.1 I2C协议简介1.2 I2C物理层1.3 I2C协议层1.4硬件 I2C 和 软件 I2C二、AHT20 温湿度传感器2.1 原理图2.2 相关参数三、项目实现3.1 实验准备3.2 程序代码3.3 硬件连接3.4 成果展示四、参考文献本文概述:学习I2C总线通信协议,使用STM32F103完成基于I2C协议的AHT20温湿度传感器的数据采集,并将采集的温度-湿度值通过串口输出。具体任务:1)解...
2021-11-20 20:40:06 4662 2
原创 Ubuntu 下调用 opencv 在图片上显示汉字和数字
目录一、汉字编码1.1 区位码1.2 机内码1.3 点阵字符储存1.4 汉字点阵获取二、利用openmv在图片上显示字体2.1 工程准备2.2 代码实现2.3 结果展示三、参考链接一、汉字编码1.1 区位码 在国标GD2312—80中规定,所有的国标汉字及符号分配在一个94行、94列的方阵中,方阵的每一行称为一个"区",编号为01区到94区,每一列称为一个"位”,编号为01位到94位,方阵中的每一个汉字和符号所在的区号和位号组合在一起形成的四个...
2021-11-14 18:03:17 498
原创 两台PC机之间的串口通信
目录一、项目内容二、项目实操2.1 材料准备2.2 操作过程一、项目内容串口传输文件的练习。将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑,预算文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。二、项目实操2.1 材料准备①两台笔记本电脑②两个USB转TTL模块③四根杜邦线④秒表2.2 操作过程
2021-11-14 16:00:42 1251
原创 STM32的DMA通信
目录一、DMA介绍1.1 什么是DMA1.2 DMA的定义1.3 DMA的传输方式1.4 DMA的传输参数二、串口DMA实例2.1 项目目的2.2 新建工程2.3 代码实操2.4 结果展示三、参考文献一、DMA介绍1.1 什么是DMADMA,全称Direct Memory Access,即直接存储器访问。DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。我们知道CPU有转移数据.
2021-11-05 16:16:31 588
原创 STM32中断原理
目录一、中断介绍1.1 什么是中断1.2 中断的作用1.3 中断的约束二、STM32CubeMX中断方式点灯2.1 项目内容2.2 工程设置2.3 代码实操2.4 硬件连接2.5 运行效果三、STM32CubeMX中断串口通信3.1 项目内容3.2 工程设置3.3 代码实操3.4 效果展示四、参考文献本篇博客内容包括 :1.介绍STM32中的中断系统。2.采用中断进行点灯实验。3.采用串口中断方式实现串口通信。...
2021-11-05 15:14:50 4232
原创 基于MDK5创建STM32汇编程序实现串口输出 Hello windows
目录一、编写代码1.1 创建工程1.2 编写代码1.3 程序烧录1.4 串口通讯二、参考资料本文将使用STM32系统给上位机(win10)连续发送“hello windows!”。win10采用“串口助手”工具接收。一、编写代码1.1 创建工程新建一个工程,我是基于STM32F103RC芯片的由于是汇编,下方不用勾选任何选项1.2 编写代码创建一个.s文件并输入以下代码;RCC寄存器地址映像 ...
2021-10-24 18:15:39 746
原创 基于STM32 CubeMX+MDK5使用HAL库点亮流水灯,并使用逻辑分析仪观察管脚时序波形
目录一、STM32 CubeMX安装教程1.1STM32 CubeMX简介1.2 安装JRE1.3 安装STM32 CubeMX1.4 安装HAL库二、利用STM32 CubeMx点亮LED灯2.1 新建工程三、MDK5观察3个GPIO端口的输出波形3.1 设置仿真模式3.2使用逻辑分析仪四、参考资料一、STM32 CubeMX安装教程1.1STM32 CubeMX简介 STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32...
2021-10-24 17:08:00 1000
原创 STM32的串口通讯协议
本文主要讲解串口协议和RS-232标准,以及RS232电平与TTL电平的区别;介绍"USB/TTL转232"模块(以CH340芯片模块为例)的工作原理。一、串口协议1.1 串口通信协议简介 串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单便捷,大部分电子设备都支持该通讯方式,电子工程师在调试设备时也经常使用该通讯方式输出调试信息。 在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;STM32...
2021-10-23 22:36:32 11195
原创 STM32F103寄存器方式点亮LED流水灯
本篇博客将介绍如何使用STM32F103系列芯片以寄存器的方式点亮LED流水灯,文章内容包括芯片IO口和寄存器的使用、硬件设计、软件设计、仿真与下载。希望本篇文章能够帮助你。一、stm32芯片寄存器及IO口简介注:本博客使用的芯片为正点原子STM32F103RC芯片,不同的32芯片在细节上也许会有不同之处。 本博客将要实现的是控制STM32开发板上的三个IO口实现一个类似流水灯的效果,该实验的关键在于如何控制STM32的IO口输出。了解了STM32的IO口如何输出的,就可以实现流...
2021-10-19 19:20:07 1430 1
原创 基于MDK5下的STM32的C语言与汇编语言混合编程
一、在C程序中调用汇编程序新建一个工程,这里我选择的芯片是STM32F103RC,配置如下:接着创建一个main.c文件程序代码如下:#include<stdio.h>extern void Init_1();int main(){ Init_1(); return 0;}然后再建立一个汇编文件,func.s程序代码如下: AREA My_Function,CODE,READONLY EXPORT Init_1 Init_1 MOV.
2021-10-11 22:58:51 493
原创 基于Ubuntu18.04下的OpenCV3.4.11的安装及摄像头使用教程
一、安装OpenCV3.4.111.1 安装包下载并解压由于使用国外官网的下载地址下载较慢,所以这里我推荐使用国内镜像源下载国内快速下载地址:https://www.bzblog.online/wordpress/index.php/2020/03/09/opencvdownload/在虚拟机里直接使用浏览器打开上方网站,依次点击下方所示的选项,下载安装包。在解压缩包之前,将 opencv-3.4.11.zip 复制到主目录文件夹下,再解压缩。1.2...
2021-10-08 19:51:55 1148
原创 GCC编译工具集
GCC不是一个人在战斗,GCC背后其实有一堆战友。目录一、GCC的合作伙伴二、GCC编译具体过程2.1 简单编译2.2 实际编译①预处理②编译为汇编代码③汇编④连接三、分析ELF文件3.1 ELF文件的段3.2 反汇编ELF一、GCC的合作伙伴以下介绍部分gcc二进制程序处理工具 工具 作用 addr2line 用来将程序地址转换成其所对应的程序源文件及所对应的代码行,也可以得到所对应...
2021-10-05 22:54:13 634
原创 用gcc生成静态库和动态库
目录一、库的分类1.1 静态库(.a)1.2 动态库(.so)1.3 两者区别二、gcc生成静态库和动态库2.1 代码编写2.2 静态库的创建及使用(1)创建静态库(2)在程序中使用静态库2.3 动态库的创建及使用(1)创建动态库(2)在程序中使用动态库三、库使用实例一、库的分类1.1 静态库(.a) 静态库的代码在编译过程中已经被载入可执行程序,因此体积比较大。所以生成的可执行文件就不受库的影响了,即使库被删除了,...
2021-10-05 19:46:19 288
原创 基于MDK5创建STM32汇编语言工程
一、在MDK5中创建一个新工程1.创建工程点击Project,选择New uvison Project创建新工程命名文件名并选择保存路径2.环境配置①设备选择选择芯片,本博客选择的芯片为STM32F103RC②选择运行环境CMSIS下选择COREDevice下Startup,其中包含了启动文件勾选完毕后点击OK,运行环境就搭建完成了3.添加文件鼠标右键单击Source Group 1,选择Add New Item to Group添加一个...
2021-09-27 22:37:23 424
原创 Ubuntu系统中编写c语言程序教程
1、准备工作1.1 安装GCC及必要软件包在使用Ubuntu系统编写c语言程序时,我们要先安装GCC:sudo apt-get build-dep gcc;之后我们需要安装build-essentian这个软件包来编译C语言文件:sudo apt-get install build-essential2、使用GCC编写C语言程序2.1 编写一个整型运算反回浮点型的程序先创建一个C语言的源文件作为子程序,来进行运算vim sub1.c打开vim界面后按i进入..
2021-09-11 14:27:51 10081
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人