自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

一、STM32中的FLASH在 STM32 芯片内部有一个 FLASH 存储器,它主要用于存储代码,我们在电脑上编写好应用程序后,使用下载器把编译后的代码文件烧录到该内部 FLASH 中,由于 FLASH 存储器的内容在掉电后不会丢失,芯片重新上电复位后,内核可从内部 FLASH 中加载代码并运行。Flash的编程原理都是只能将1写为0,而不能将0写为1,所以在进行Flash编程前,必须将对应的块擦除,即将该块的每一位都变为1,块内所有字节变为0xFF。STM32F1 的闪存(Flash)模块:主存储

2021-12-30 20:31:08 926

原创 使用Altium Designer绘制STM32最小系统板及SD卡原理图

一、绘制 stm32 最小系统的电路原理图1、stm32 最小系统的电路原理图是什么最小系统为单片机工作的最低要求,不含外设控制,原理简单,分析最小系统是嵌入式入门的基础。stm32 最小系统的电路原理图如下,我们的目标就是绘制出下面的原理图。最小系统主要有电源,时钟,调试,复位,以及控制芯片五大部分组成。2、创建一个工程首先打开AD,点击文件—>项目,接下来会弹出以下选项卡,分别选择工程类型,设置工程名称和存储路径,最后再点击创建即可创建一个工程。在文件中创建项目:原理图、PCB、原

2021-12-23 11:56:11 728

原创 用STM32F103完成对SD卡数的读写

一、SD卡协议了解1、SDIO协议简介SD卡(Secure Digital Memory Card)在我们的生活中已经非常普遍了,控制器对SD卡进行读写通信操作一般有两种通信接口可选,一种是 SPI接口,另外一种就是 SDIO接口。SDIO 全称是 安全数字输入/输出接口,多媒体卡(MMC)、SD卡、SD I/O卡 都有 SDIO接口。STM32F103系列控制器有一个 SDIO主机接口,它可以与 MMC卡、SD卡、SD I/O卡 以及 CE-ATA 设备进行数据传输。2、SD卡物理结构一般SD卡包

2021-12-22 22:11:38 736

原创 C程序在 Ubuntu 和 STM32 中内存分区(全局变量、局部变量、堆、栈)

一、程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域(.data),未初始化的全局变量和未初始化的静态变量在

2021-12-21 20:03:18 173

原创 基于clion下与stm32cubemx点亮LED

一、 Clion的介绍Clion是一款专门开发C以及C++所设计的跨平台的IDE。它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力。这种强大的IDE帮助开发人员在Linux、OS X和Windows上来开发C/C++,同时它还能使用智能编辑器来提高代码质量、自动代码重构并且深度整合Cmake编译系统,从而提高开发人员的工作效率。二、安装Clion20211、安装环境Win10 系统 64 位2、下载安装官网下载:CLion2021.2 Winx64https://w

2021-12-17 16:02:30 129

原创 使用 keil 仿真调试和 SaleaeLogic16 逻辑仪观察信号的波形

一、 使用 Keil 的仿真示波器逻辑分析引脚变化1、调试前配置打开 keil 代码工程这里的过程代码用的是上篇文章中实现三个任务的工程文件。调试前配置在 MDK-ARM 文件夹下创建一个 TXT 文件,将下面的内容添加进去。将文件后缀名改为.ini将文件添加到工程项目2 、调试观测进入调试界面点击 Debug,进入调试。再选择逻辑分析仪,点击 Setup,按如下设置点击左上角的 Run ,全速运行。结果如下:3 、结果分析观察上面的示波器逻辑分析仪结果可以看到:PC1

2021-12-05 14:22:32 500

原创 STM32F103C8T6 基于 HAL 库移植 uC/OS-III 系统并应用

一、获取源码官网下载地址:http://micrium.com/downloadcenter/二、准备项目文件1、新建文件夹在下载好的文件中新建两个文件uC-BSP及uC-CONFIG2、在uC-BSP文件夹中添加文件在 uC-BSP 文件夹中新建 bsp.c 和 bsp.h 空文件,等之后再用。3、在 uC-CONFIG 文件夹添加文件将“Micrium\Software\EvalBoards\Micrium\uC-Eval-STM32F107\uCOS-III”文件路径里框住的文件(

2021-12-05 09:53:15 122

原创 在OLED屏幕上显示汉字

一、了解SPISPI的定义SPI(Serial Peripheral Interface)就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚。SPI 是一个环形总线结构,由 ss(cs)、sck、sdi、sdo 构成,时序主要是在 sck 的控制下,两个双向移位寄存器进行数据交换。上升沿发送、下降沿接收、高位先发送。上升沿到来的时候,sdo 上的电平将被发送到从设备的寄存器中。下降沿到来的时候,sdi 上的电平将被接收到主设备的寄

2021-11-25 11:20:55 6640 1

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

一、I2C通信协议1、I2C协议简介I2C通讯协议(Inter-Integrated Circuit)是由Phiilps公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。2、I2C的两种工作方式硬件I2C直接利用 STM32 芯片中的硬件 I2C 外设。使用方式:只要配置好对应的寄存器,外设就会产生标准串

2021-11-23 11:28:48 3032

原创 串口传输文件

一、实验目的串口传输文件的练习。将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑,预算文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。二、实验环境两台笔记本电脑,usb转rs232 模块和杜邦线,串口助手...

2021-11-14 19:10:16 3029

原创 点阵的汉字的字模读取与显示

一、点阵字库的原理1、 汉字编码区域码在国标 GD2312—80 中规定,所有的国标汉字及符号分配在一个 94 行、94 列的方阵中,方阵的每一行称为一个“区”,编号为 01 区到 94 区,每一列称为一个“位”,编号为01 位到 94 位,方阵中的每一个汉字和符号所在的区号和位号组合在一起形成的四个阿拉伯数字就是它们的“区位码”。区位码的前两位是它的区号,后两位是它的位号。用区位码就可以唯一地确定一个汉字或符号,反过来说,任何一个汉字或符号也都对应着一个唯一的区位码。机内码汉字的机内码是指在计算

2021-11-14 18:52:36 333

原创 STM32中断与DMA通信编程

一、CubeMX中断方式点灯1、CubeMX工程设置新建一个工程,选择STM32F103C8芯片。管脚设置:设置指示灯LED引脚PB5,设置引脚模式为输出模式GPIO_Output设置按键引脚PA1,设置引脚为外部中断功能,PA1与外部中断线EXIT1连接GPIO_EXIT1对于LED对应的PB5管脚,默认设置即可,名字设为LED对于开关对应管脚PA1,设置其触发方式为上升沿触发User Label处设置名字为 A1_EXTI使能对应的外部中断线,点击Enabled配置中断优

2021-11-06 16:25:17 154

原创 STM32的串口通信

目录一、题目内容二、创建工程三、烧录程序四、输出结果五、个人小结六、参考链接一、题目内容1、设置波特率为115200,1位停止位,无校验位。2、STM32给上位机(win10)连续发送hello Windows,上位机接收程序使用“串口调试助手“。二、创建工程创建新项目并选择对应芯片STM32F103C8。再按如下设置:在文件夹下新建 .s文件:编写代码:;RCC寄存器地址映像 RCC_BASE ...

2021-10-27 00:39:43 361

原创 STM32CubeMX生成Keil工程并实现流水灯

目录一、STM32 CubeMx的安装1、安装JRE2、安装STM32CubeMX3、安装HAL库二、使用STM32CubeMX生成Keil工程1、创建新工程2、初始化配置3、工程导出三、在Keil中完善我们的功能四、在仿真中观察波形1、仿真配置五、个人小结六、参考文献一、STM32 CubeMx的安装1、安装JRE由于 STM32CubeMX 软件是基于 JAVA 环境运行的,所以需要安装 JRE (Java Runtime En...

2021-10-27 00:16:30 1204

原创 用STM32F103C8T6制作流水灯

一、题目内容以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED 搭建电路,使用GPIOA、GPIOB、GPIOC这3个端口控制LED灯,轮流闪烁,间隔时长1秒。二、工程模板的下载这里使用的工程模板是“洋桃电子”版本,可以去如下网址下载:http://www.doyoung.net/YT/xx3.html下载上面红框里的压缩包。三、程序的编写将下载好的工程模板解压到对应的文件夹。打开工程,可以看到主文件中的主函数,之后都在这里面调用要用到的功.

2021-10-24 01:22:44 718

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

一、在C语言中调用汇编语言1、代码实现首先创建两个分别以C语言和汇编语言为基础的代码文件:main.c和func.s;汇编语言中的函数功能为:传入一个整型数x,函数运行后返回整型数 x+100...

2021-10-12 23:02:37 210

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

目录一、了解静态库及动态库二、链接静态库编译1、编写源程序2、静态文件库libx2.a的编译1)编译.o目标文件2)编译libx2.a静态库文件3、链接为可执行文件main三、编译时链接动态库文件1、编译动态库文件libx2.so2、链接为可执行文件四、心得体会五 、参考文献一、了解静态库及动态库函数库分为静态库和动态库两种。静态库在程序编译时会被链接到目标代码中,程序运行时将不再需要该静态库。 动态库在程序编译时并不会被链接到目标代码中,而..

2021-10-10 18:50:43 368

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

一、安装OpenCV1、下载安装包1)下载OpenCV数据包直接在虚拟机中使用浏览器下载,网址为OpenCV/opencv_contrib国内快速下载 | 绕云技术博客OpenCV/opencv_contrib国内快速下载 | 绕云技术博客OpenCV/opencv_contrib国内快速下载 | 绕云技术博客2)使用cmake安装opencv先将文件夹复制到home文件夹下进入文件夹opencv-3.4.11 。​​cd opencv-3.4.11先进...

2021-10-10 16:50:38 1020

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

一、新建工程打开uVision5,点击菜单栏project,如下图:在弹出窗口选择下面选项,创建新工程:设置工程的路径,名称test1:二、配置环境1、选择设备选择如图设备:2、选择运行环境1、CMSIS下选择CORE2、Device下选择Startup3、添加源文件如下图操作:创建Asm File( .s),设置源文件名称test1:三、代码编写,编译与调试1、代码编写​ A...

2021-09-27 23:15:49 114

原创 Ubantu系统下编写运行C语言--入门

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

2021-09-13 20:52:15 267

空空如也

空空如也

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

TA关注的人

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