- 博客(19)
- 收藏
- 关注
原创 STM32F103C8音频数据的Flash读取与DAC播放
文章目录一、读取Flash1.1 Flash简介1.2 工程实例二、DAC播放音频2.1 DAC简介2.2 DAC工程实例(截取音频)2.3 DAC工程实例(录音频)三、总结一、读取Flash1.1 Flash简介Flash全名叫做Flash Memory,它在嵌入式系统中的功能可以和硬盘在PC中的功能相比。它们都是用来存储程序和数据的,而且可以在掉电的情况下继续保存数据使其不会丢失。Flash memory(闪速存储器)作为一种安全、快速的存储体,具有体积小,容量大,成本低,掉电数据不丢失..
2022-01-02 22:38:42 1792
原创 SD卡数据读取
本文使用到的硬件:STM32F103C8T6、Micro SD卡模块CH376S SPI接口、杜邦线、USB转TTL接口本文使用到的软件:Keil MDK、串口调试助手目录一、SPI读写SD卡介绍1.1 SPI模式1.2 命令1.3 初始化操作1.4 读写数据(多数据)二、实验配置2.1 源代码2.2 硬件连线2.3 部分代码分析三、实验结果分析四、总结一、SPI读写SD卡介绍SPI外设只具有两条数据线MISO和MOSI,分别用作数据的输入和输出,由于引脚较少,所以控制相对较容易。1.1 S
2021-12-25 20:23:17 3626
原创 Clion编辑器的学习与实践之完成stm32F103点亮LED的程序
目录一、安装环境1.1 Clion1.2 arm-none-eabi-gcc1.3 STM32CubeMX1.4 OpenOCD1.5 MinGW1.6 添加环境变量二、配置Clion实现工程三、烧录实现四、总结一、安装环境1.1 Clion下载地址:https://www.jetbrains.com/clion/download/#section=windows安装教程:https://zhuanlan.zhihu.com/p/3967392131.2 arm-none-eabi-gcc..
2021-12-16 12:55:29 426
原创 变量存储重温及在Ubuntu系统和Keil中编程验证
本文要使用到的软件:Ubuntu(X86)、Keil MDK、串口调试助手本文要使用到硬件:STMF103C8T6、USB转串口、杜邦线若干、LED灯目录一、变量存储重温1.1 栈1.2 堆1.3全局区(静态区)1.4文字常量区1.5程序代码区二、STM32内存分配2.1 ROM,Read-Only Memory2.2 RAM,Random-Access Memory三、编程验证3.1 Ubuntu下验证存储3.2 Keil下验证四、总结提示:以下是本篇文章正文内容,下面案例可供参考一、变量存
2021-12-16 00:26:01 950
原创 uc/OS-III系统移植STM32F103C8T6及逻辑分析仪的使用
本文使用到的硬件:STM32F103C8T6最小系统板、一个小灯、USB-TTL转接口、若干杜邦线、逻辑分析仪本文使用到的软件:Keil MDK、STM32CubeMX、串口调试助手、SALEAE_LOGIC_16(观测逻辑分析波形)目录一、uc/OS-III介绍1.1 uc/OS-III是什么二、2.读入数据总结一、uc/OS-III介绍1.1 uc/OS-III是什么uc/OS-III是嵌入式实时操作系统的一种,他的结构小巧,是可以完成多任务实时内核,典型的前后台嵌入式系统。前台系统和
2021-12-06 19:30:20 377
原创 使用STM32F103的SPI或IIC接口实现OLED屏显
本文使用到的软件:Keil MDK本文使用到的硬件:PC机,STM32最小系统开发板,0.96寸OLED显示屏,串口调试助手目录一、SPI通信协议简介二、显示自己的学号和姓名三、显示AHT20的温度和湿度四、左右滑动显示长字符五、总结一、SPI通信协议简介与I2C协议一样,对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层(1)SS( Slave Select):从设备选择信号线,常称为片选信号线,也称为 NSS、CS,以下用 NSS 表示。(2)
2021-11-21 21:37:26 3635 2
原创 使用STM32F103完成基于I2C协议的AHT20温湿度传感器的数据采集
本文用到的软件:串口调试助手、Keil MDK本文用到的硬件:温湿度传感器AHT20、STM32C8T6最小系统板、杜邦线本文默认已经安装好这些软件及配备好硬件,完成每隔2秒钟采集一次温湿度数据,并通过串口发送到上位机(win10)。目录一、I2C总线通信协议二、硬件及程序三、实现结果一、I2C总线通信协议对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层它的物理层有如下特点:(1) 它是一个支持设备的总线。“总线”指多个设备共用的信号线。在一
2021-11-21 16:17:14 387
原创 点阵汉字字模显示~Ubuntu系统下用C语言调用opencv库为图片加logo
Ubuntu系统要安装好编译环境,若无,详情参考:https://blog.csdn.net/arau_sh/article/details/6587396目录一、区位码与机内码简介二、字形数据存储与获取三、Ubuntu下展示3.1 ubuntu新建文件夹3.2 代码及.txt文件3.3 运行结果四、总结一、区位码与机内码简介所有汉字及符号放在一个94*94的方阵中,行叫做区,列叫做位,所以是94区、94位,也可以理解为坐标,每一个汉字或者符号都对应一个区码和位码,把区码和位码组合起来,区码在
2021-11-15 17:10:08 2546
原创 PC to PC串口传输文件
本文使用到的硬件:两台PC机、usb转rs232 模块和杜邦线本文使用到的软件:串口助手等工具软件(带文件传输功能)目录一、传输图片二、传输视频三、传输压缩包四、总结一、传输图片接收端接收到的图片与原图片一致,如下:实际传输时间文件大小、波特率和传输时间三者之间的关系波特率X传输时间≈文件大小传输时用到的波特率115200bps、1个停止位、8个数据位、无校验位,(起始位自动配置)传输一个字节共10bit在发送有效数据前,无需配置,会自动产生1bit文件大小1326.
2021-11-15 16:06:47 3815
原创 STM32串口通讯~HAL库(中断方式+DMA)
本文使用到的软件:本文使用到的硬件:目录一、串口通讯——中断方式1.1 STM32CubeMX构建环境1.2 Keil MDK生成.Hex文件1.3 硬件及结果展示二、串口通讯——DMA方式2.1 DMA介绍2.2 STM32CubeMX构建环境2.3 Keil MDK生成.Hex文件2.4 硬件及结果展示三、总结一、串口通讯——中断方式完成一个STM32的USART串口通讯程序(中断方式),要求:1)设置波特率为115200,1位停止位,无校验位;2)STM32系统给上位机(win10)连
2021-11-06 16:02:49 4844
原创 STM32CubeMX+HAL库控制灯—中断模式
本文用到的软件:STM32CubeMX、Keil MDK、mcuisp(烧录软件)、CH340串口驱动软件。本文用到的硬件:STM32F103C8T6最小系统板、USB转接头、杜邦线若干、小灯一个、电源模块等。目录一、STM32CubeMX构建环境二、Keil MDK中生成.hex文件2.1 查看中断函数2.2 了解各函数的功能2.3 在main.c函数中定义中断回调函数三、结果展示四、总结一、STM32CubeMX构建环境不理解的步骤可看我另一篇博客:点这里设置MCU型号stm32c8
2021-11-04 17:10:42 504
原创 STM32的USART串口通讯~使用HAL库(查询方式)
目录一、USART介绍二、STM32CubeMX及Keil的使用2.1 STM32CubeMX配置环境2.2 Keil MDK 生成.Hex文件2.3 烧录三、实现四、总结一、USART介绍USART/UART通信是STM32的一个非常重要的外设,是一种通用串行数据总线,可实现全双工通信。UART:通用异步收发器,USART:通用同步/异步收发器,可以看出USART比UART多了一个同步模式。异步通信:异步通信是按字符传输的。每传输一个字符就用起始位来进来收、发双方的同步。不会因收发双方的
2021-10-29 22:42:10 2700
原创 串口通信小试牛刀~使用STM32CubeMX+ HAL库点亮流水灯
STM32CubeMX与Keil MDK配合HAL库完成流水灯的点亮。目录一、STM32串口通信基础二、STM32CubeMX与keil基于HAL库点亮2.1 使用CubeMX生成相关代码2.2 Keil软件生成.hex2.3 .hex烧录三、实验结果及观测3.1 实验结果3.2 Keil观测波形配置Debug开始仿真观测波形四、总结一、STM32串口通信基础STM32的串口通信接口有两种,分别是:UART(通用异步收发器)、USART(通用同步异步收发器)。而对于大容量STM32F10x系列
2021-10-29 19:09:05 450
原创 STM32F103寄存器方式点亮LED流水灯
本文使用到的硬件有STM32F103C8T6、目录一、STM32F103系列芯片的地址映射和寄存器映射原理一、pandas是什么?二、使用步骤1.引入库2.读入数据总结一、STM32F103系列芯片的地址映射和寄存器映射原理存储器本身不具有地址信息,它的地址是由芯片厂商或用户分配,给存储器分配地址的过程就称为存储器映射给已经分配好地址的有特定功能的内存单元取别名的过程就叫寄存器映射片上外设区分为三条总线,根据外设速度的不同,不同总线挂载着不同的外设,APB1挂载低速外设,APB2 和 A
2021-10-22 17:40:16 494
原创 Keil MDK 下STM32的C与汇编语言混合编程
C语言直观清晰,汇编效率高,C语言里面嵌套汇编是很好的选择。目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言在STM32汇编语言编程与仿真调试的基础上,继续学习Keil下STM32的C与汇编语言混合编程。本文目的:修改参考代码,要求将原汇编语言 Init_1函数的类型改为 int Init_1(init) ,此函数功能修改为 传入一个整型数x,函数运行后返回整型数 x+100。一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解
2021-10-12 19:02:55 1267
原创 (新手入门)“学了opencv,妈妈再不担忧你不会图像编程啦!”~opencv图像库编程的学习及应用
在Ubuntu16/18系统下练习编译、安装著名的C/C++图像处理开源软件库 Opencv3.x 。Linux下opencv图像库编程前言(opencv的安装步骤)一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言(opencv的安装步骤)参考文章:https://blog.csdn.net/forever_008/article/details/103625637提示:以下默认已经安装好opencv一、pandas是什么?示例:pandas 是基于NumPy 的一种工具
2021-10-12 10:32:29 436
原创 Linux下静态库与动态库的创建及使用(使用gcc)附案例解读
Linux下可执行程序的编译组装前言一、Linux下.a静态库与.so动态库的生成与使用(“以输出“hello XX”为例”)1.静态库与动态库的介绍2.静态库和动态库的创建3.在程序中使用静态库4.在程序中使用动态库二、举例运用1.编写主程序文件及子程序文件2.生成目标文件(.o)3.静态库与main函数的链接3.1 先将目标文件生成一个静态库(x2x&x2y)3.2 将生成的.a静态库与main函数生成可执行程序4.动态库与main函数的链接4.1 将目标文件生成动态库(x2x&x2..
2021-10-08 11:05:37 205
原创 基于Keil MDK STM32完成对汇编程序的编写
1.文章默认已经安装好Keil MDK,如若没有请参考:https://blog.csdn.net/k1ang/article/details/794398912.本次实验我们需要stm32芯片,需要在官网下载并安装:https://www.keil.com/dd2/pack ,我下载的是下图,请自行下载安装。目录一、在MDK创建一个新的工程二、进行调试三、生成HEX文件3.1观察生成的.HEX文件一、在MDK创建一个新的工程新建工程自行选择文件保存路径以及文件名称,选好后进入如下界面
2021-10-01 17:01:32 406
原创 Ubuntu系统下编译C程序(gcc/makefile)
(小白入门)Ubuntu系统下编译C程序(gcc/makefile)一、(基础)输出“hello world”为例二、gcc命令行方式三、Makefile方式1.Makefile规则2.编写Makefile文件四、在windows系统下编译程序五、在编译过程中遇到的问题及解决方法六、心得总结题目要求请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算
2021-09-16 20:15:02 10592
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人