自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2021-12-31 16:55:06 1625

原创 STM32F103完成对SD卡的数据读取

目录一、SD卡介绍1.概述2.SD模式3.SD卡读取与写入(SPI模式)二、STM32F103完成对SD卡的数据读取1.代码部分2.U盘格式化3.电路连接4.具体实现三、参考资料一、SD卡介绍1.概述SD存储卡(Secure Digital Memory Card)是一种基于半导体快闪存储器的新一代高速存储设备。SD存储卡的技术是从MMC卡(MultiMedia Card)格式上发展而来,在兼容SD存储卡基础上发展了SDIO(SD Input/ Ou...

2021-12-25 16:09:39 5280 1

原创 使用Altium Designer绘制stm32最小系统的电路原理图

一、Altium Designer安装及配置1.安装Altium Designer网盘链接:百度网盘 请输入提取码提取码:3cjt解压后打开文件夹如下运行AltiumDesigner18Setup开始安装,此处选择中文,勾选I accept the agreement,点击Next这里不用修改,直接下一步设置安装路径点击Next开始安装安装完成2.配置Altium Designer进入软件,打开设置,勾选下面的选项将cr...

2021-12-25 11:38:18 503

原创 基于Ubuntu和STM32分析全局变量、局部变量、堆、栈

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

2021-12-16 13:21:49 158

原创 基于CLion实现STM32F103点亮LED

一、环境安装1.CLion介绍 Clion 是一款专门开发 C 以及 C++ 所设计的跨平台的 IDE。它是以 IntelliJ 为基础设计的,包含了许多智能功能来提高开发人员的生产力。 CLion 支持 GCC、clang、MinGW、Cygwin 编译器以及 GDB 调试器。提供对 Cmake 支持:包含自动处理 Cmake changes 和 Cmake Targets,更新新创建的 C/C++ 档案以及 Cmake Cache 编辑器。2.安装CLion...

2021-12-16 10:07:18 628

原创 STM32F103C8T6基于HAL库移植uCOS

目录一、使用CubeMX建立stm32 HAL库工程二、移植准备1.获取uC/OS-III源码2.文件准备三、开始移植1.将uCOS文件添加到项目2.添加路径3.代码添加与修改4.参数设置四、具体实现​五、扩展六、参考资料一、使用CubeMX建立stm32 HAL库工程打开STM32 cubeMX,新建工程,选择芯片STM32F103C8,然后进行相关配置。配置RCC配置SYS设置PC13为GPIO_Outpu...

2021-12-03 22:19:02 316

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

目录一、OLED屏字模显示1.字模获取2.编写代码3.连接电路4.具体实现二、OLED屏显示歌词​三、参考资料一、OLED屏字模显示1.字模获取下载通用点阵字库生成工具链接:https://xiazai.zol.com.cn/baike/470519.shtml按如下设置输入想要获取的文字,点击生成字模,下面会出现编码,点击保存字模用记事本打开2.编写代码下载工程文件:https://github.com...

2021-11-26 22:37:43 766

原创 STM32F103基于I2C协议的AHT20温湿度传感器的数据采集

目录一、实现AHT20采集程序1.主要代码2.生成.hex文件二、硬件连接三、具体实现四、参考资料一、实现AHT20采集程序全部代码可以到这里下载:https://github.com/Sunlight-Dazzling/stm32-AHT20/tree/master1.主要代码(1)AHT20芯片的使用过程void read_AHT20_once(void){ delay_ms(10); reset_AHT20();//重置AHT20芯片 de..

2021-11-26 21:40:31 244

原创 电脑之间使用串口传输文件

一、实验内容本次实验是串口传输文件的练习。将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑,预算文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。二、实验准备下载串口调试助手链接:百度网盘 请输入提取码 提取码:unh8连接电路准备两个USB TO TTL和四根杜邦线,将两个USB TO TTL的RXD,TXD引脚交叉连接,并将...

2021-11-19 13:36:23 3153

原创 Ubuntu下调用OpenCV库编程显示图片并叠加汉字

一、实验准备下载汉字点阵库及显示应用工具下载链接:https://pan.baidu.com/s/1zpZzLPfp6_G9ShLc5_DAOw 提取码:4u3q解压后如下所示:本次实验需要用到以下两个文件Ubuntu下创建一个文件夹用来存放本次实验的文件,其中包括一张图片、一个txt文件和上面两个文件txt文件打开后中文是一串乱码,需要修改格式把乱码修改为中文,然后点击另存为 ,修改Character Encoding为GBK,点击保存...

2021-11-14 15:54:56 247 1

原创 STM32串口DMA通信

一、CubeMX生成代码新建项目选择芯片

2021-11-05 18:36:52 151

原创 中断方式实现LED点亮点灭

目录一、使用CubeMX生成代码二、代码补充三、LED点亮点灭四、参考资料一、使用CubeMX生成代码打开CubeMX,点击ACCESS TO MCU SELECTOR创建新项目在Part Number处选择芯片,我这里用的是STM32F103C8T6,所以选择的是STM32F103C8,选择芯片之后再点击Start Project点击System Core,点击RCC,按照如下选择点击SYS,Debug选择Serial Wire...

2021-11-05 17:58:29 265

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

一、CubeMX生成代码1.新建项目打开CubeMX,点击ACCESS TO MCU SELECTOR创建新项目在Part Number处选择芯片,我这里用的是STM32F103C8T6,所以选择的是STM32F103C8,选择芯片之后再点击Start Project2.设置时钟:点击System Core,进入里面的RCC,按照如下选择3.设置串口:(1)点击Connectivity中的USART1(2)设置MODE为异步通信(3)基础参数设置:P...

2021-11-05 16:21:01 1574

原创 STM32使用CubeMX点亮LED流水灯与USART串口通讯

目录一、搭建STM32开发环境1.安装jdk2.安装STM32CubeMX二、使用CubeMX生成代码点亮LED灯1.使用CubeMX生成代码2.生成.hex文件3. 点亮LED流水灯4.使用Keil的软件仿真逻辑分析仪功能观察管脚的时序波形三、STM32的USART串口通讯1.建立项目2.编写代码3.结果显示4.Keil上示波器波形检验四、参考资料一、搭建STM32开发环境1.安装jdkSTM32CubeMX是Java实现的...

2021-10-29 19:41:32 1709

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

一、STM32F103系列芯片的地址映射和寄存器映射原理1.什么是寄存器?寄存器是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。寄存器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器。寄存器是中央处理器内的组成部分。寄存器是有限存储容量的高速存储部件,它们可用来暂存指令、数据和位址。2、地址映射和寄存器映射原理存储.

2021-10-24 15:21:44 1590

原创 了解linux系统的gcc编译

目录一、简介二、简单编译1.示例程序2.一步到位编译指令3.编译过程三.多个程序文件的编译四、检错五、库文件连接一、简介 Linux系统下的Gcc(GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作品之一。gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%~30%。Gcc编译器能将C、C++语言源程序、汇程式化序和目标程序编译、连接成可执行文件,如果没有给出...

2021-10-15 14:45:11 200

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

一、新建工程打开Keil uVision5点击project,在弹出的窗口点击选项New uVision Project,创建新的工程在弹出的窗口设置工程路径和名称,然后点击保存二、配置环境1.选择设备设置工程的目标环境,本文基于STM32F103ZET6,因此在弹出的窗口选择相应的选项,点击OK即可2.选择运行环境ARM的CMSIS已经把开发所需要的软件组件都封装好了,因此直接选择打勾即可;在CMSIS下勾选CORE,在Device下勾选Startu...

2021-10-12 21:21:13 179

原创 Ubuntu下OpenCV的使用示例

目录一、前言二、图片使用示例三、视频使用示例1.虚拟机获取摄像头权限2.播放视频3.录制视频四、参考资料一、前言 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和MacOS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。 ...

2021-10-12 12:46:55 1277

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

一、hello实例使用库1.准备过程(1)创建目录(2)打开文件夹并写入代码hello.h#ifndef HELLO_H#define HELLO_Hvoid hello(const char *name);#endif//HELLO_Hhello.c#include<stdio.h>void hello(const char *name){printf("Hello %s\n",name);}main.c#include"hello.h.

2021-10-12 10:43:16 78

原创 ARM汇编基础:创建汇编语言的STM32工程

目录一、新建工程二、配置环境1.选择设备2.选择运行环境3.添加源文件三、编译代码四、编译调试1.仿真器设置2.调试3.HEX文件一、新建工程1.打开Keil5,初始界面如下2. 点击Project下的New uVision Project,创建新的工程3.在弹出的窗口设置工程的路径和名称,这里用的名称是TEST,之后点击保存二、配置环境1.选择设备在弹出的窗口选择STM32F103ZE,点击OK2....

2021-09-30 12:27:24 437

原创 Ubuntu下使用gcc和makefile编写c语言程序

目录一、使用gcc编译C语言程序1.编写一个简单的输出hello,world的程序2.编写一个主程序文件main.c和一个子程序文件sub1.c二、在windows系统下编译C语言程序三、用Makefile方式编程主程序四、总结一、使用gcc编译C语言程序1.编写一个简单的输出hello,world的程序安装vim:sudo apt-get install vim-gtk终端输入vimhello.c创建hello.c文件编写hello.c...

2021-09-15 21:12:51 587

空空如也

空空如也

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

TA关注的人

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