自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JavaScript & TypeScript 学习总结

JS和TS的学习总结

2022-07-09 19:45:44 319

原创 HTML & CSS 学习总结

在这几次的学习中,我了解到了什么是HTML以及如何撰写HTML文档在这一章节中,我学习到了什么是HTML、如何构建一个HTML文档以及它的结构。

2022-07-09 18:58:10 311

原创 STM32DAC音频播放

基于片内Flash的提示音播放程序。 1)实验数据准备:用Adobe audition或goldwave等音频编辑软件录制“您好欢迎光临!”的几秒钟的声音(8khz采样、8bit量化编码的单声道wav格式),确保音频数据尽量小(最大不超64KB)。然后编程将其分批次写入stm32f103c8t6芯片内部flash区域。 2)数字音频还原播放任务:编程读取此段音频,分别通过 (a)stm32f103c8t6自带的DAC通道,转换为模拟音频进行播放,并用示波器观察波形,用耳机/喇叭收听,评判音乐还原效果; .

2021-12-31 10:01:12 1345

原创 使用STM32进行Flash地址空间的数据读取

Flash地址空间的数据读取。stm32f103c8t6只有20KB 内存(RAM)供程序代码和数组变量存放,因此,针对内部Flash的总计64KB存储空间(地址从0x08000000开始),运行一次写入8KB数据,总计复位运行代码4次,将32KB数据写入Flash。并验证写入数据的正确性和读写速率。 一、Flash 二、工程实现 这里使用的是已经配置好的工程文件,下载连接如下: 1、工程代码 确保文件中含有flash.h文件和flash.c文件(flash.h文件放在INC文件夹中即可) 在mai.

2021-12-24 11:54:31 5986

原创 STM32用cube配置FATFS模式下SPI读写SD卡

要求:掌握SD卡协议原理,用STM32F103 完成对SD卡的数据读取(FAT文件模式) 一、SD卡与FATS 1、SD卡 (1)简介 SD 卡(Secure Digital Memory Card)在我们生活中已经非常普遍了,控制器对 SD卡进行读写通信操作一般有两种通信接口可选,一种是 SPI接口,另外一种就是 SDIO 接口。SDIO 全称是安全数字输入/输出接口,多媒体卡(MMC)、SD 卡、SD I/O 卡都有 SDIO 接口。SD I/O 卡本身不是用于存储的卡,它是指利用 SDIO 传输协.

2021-12-23 01:09:15 2024 1

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

编写一个C程序,重温全局变量、局部变量、堆、栈等概念,在Ubuntu(x86)系统和STM32(Keil)中分别进行编程、验证(STM32 通过串口printf 信息到上位机串口助手) 。归纳出Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的分配地址,进行对比分析。 一、C程序的内存分配 栈区(stack) 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 堆区(heap) 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 。它与数据.

2021-12-21 16:22:44 247

原创 CLion2021 的安装并基于 CLion 实现 stm32F103 点亮 LED

安装Clion2021,采用一套新的嵌入式软件开发工具包(替代Keil),完成stm32F103 点亮LED的程序。 一、CLion 简介 1、概述 Clion是一款专门开发C以及C++所设计的跨平台的IDE。它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力。这种强大的IDE帮助开发人员在Linux、OS X和Windows上来开发C/C++,同时它还能使用智能编辑器来提高代码质量、自动代码重构并且深度整合Cmake编译系统,从而提高开发人员的工作效率。 2、功能 提供C以及.

2021-12-13 16:13:14 693

原创 STM32F103C8T6移植uC/OS-III基于HAL库

一、获取uC/OS-III源码 可以在官网下载,但是速度很慢 所以直接在这个连接下载就好

2021-12-04 10:51:34 196

原创 基于STM32的OLED滚动宣示长字符

要求:理解OLED屏显和汉字点阵编码原理,使用STM32F103的SPI或IIC接口实现以下功能:上下或左右的滑动显示长字符 一、OLED屏的滚屏命令 关于每一天命令的详细介绍,参照下面的博客: https://wlink.blog.csdn.net/article/details/81329770 1、水平滚动配置 此指令用于配置水平滚动参数和确定滚动起始页、终止页和滚动速度 水平滚动需要在调用此命令前禁用(2Eh), 否则RAM中的内容将会出错 水平滚动的例子 水平左右移动 OLED_WR_B.

2021-11-21 17:46:01 807

原创 基于STM32的OLED显示屏显示AHT20的温度和湿度

理解OLED屏显和汉字点阵编码原理,使用STM32F103的SPI或IIC接口实现以下功能:显示AHT20的温度和湿度 这里写目录标题一、前情提要二、使用OLED显示屏显示温湿度采集信息1、下载代码2、修改代码3、编译运行4、烧录文件5、实验结果三、总结参考文献 一、前情提要 在之前的章节中,我实现了基于STM32的基于I2C协议实现温湿度采集,在这一篇博客之中:https://blog.csdn.net/chelseafall/article/details/121443439?spm=1001.20.

2021-11-21 17:24:50 2329

原创 基于STM32的OLED显示屏显示数据

要求:理解OLED屏显和汉字点阵编码原理,使用STM32F103的SPI或IIC接口实现以下功能:显示自己的学号和姓名 一、SPI简介 1、SPI的定义 SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是MISO(数据输入),MOSI(数据输出),SCLK(时钟),CS(片选)。 MOSI --主设备数据输出,从设备数据输入 MI.

2021-11-21 17:21:00 6685

原创 基于I2C协议实现温湿度采集

学习I2C总线通信协议,使用STM32F103完成基于I2C协议的AHT20温湿度传感器的数据采集,并将采集的温度-湿度值通过串口输出。具体任务:1)解释什么是“软件I2C”和“硬件I2C”? (阅读野火配套教材的第23章“I2C–读写EEPROM”原理章节) 2)阅读AHT20数据手册,编程实现:每隔2秒钟采集一次温湿度数据,并通过串口发送到上位机(win10)。 一、I2C总线协议 1、简介 I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它.

2021-11-21 09:06:19 5394 2

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

学习理解汉字的机内码、区位码编码规则和字形数据存储格式。在Ubuntu下用C/C++(或python) 调用opencv库编程显示一张图片,并打开一个名为"logo.txt"的文本文件(其中只有一行文本文件,包括你自己的名字和学号),按照名字和学号去读取汉字24*24点阵字形字库(压缩包中的文件HZKf2424.hz)中对应字符的字形数据,将名字和学号叠加显示在此图片右下位置。 一、汉字点阵字库原理 (一) 汉字编码 1、区位码 在国标 GD2312—80 中规定,所有的国标汉字及符号分配在一个 94 .

2021-11-15 19:36:14 271

原创 STM32中断与DMA通信编程

学习stm32中断、DMA通信原理和编程方法。使用stm32tubemx和HAL库分别完成以下编程练习:(1)用stm32F103核心板的GPIOA端一管脚接一个LED,GPIOB端口一引脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED亮灯;接低电平时,LED灭灯。(2) 采用串口中断方式重做上周的串口通信作业。(3) STM32采用串口DMA方式,用115200bps或更高速率向上位机连续发送数据。 一、中断相关概念 1、数据传输方式 处理器和外部设备的数据方式总共分为4种.

2021-11-05 22:15:28 252

原创 基于 MDK实现STM32串口通信

一、串口协议与RS-232标准 1、串口协议 串口通信指串口按位(bit)发送和接收字节。尽管比特字节(byte)的串行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。串口通信协议是指规定了数据包的内容,内容包含了起始位、主体数据、校验位及停止位,双方需要约定一致的数据包格式才能正常收发数据的有关规范。在串口通信中,常用的协议包括RS-232、RS-422和RS-485。 想要加强理解,我们可以通过分层来简化这个复杂的问题。将通讯协议分为物理层和协议层。物理层规定通讯系统中具有机械、电子功

2021-10-27 18:02:09 732

原创 搭建STM32CubeMX环境并实现LED流水灯

一、预备知识 1、串口协议 串口通信指串口按位(bit)发送和接收字节。尽管比特字节(byte)的串行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。串口通信协议是指规定了数据包的内容,内容包含了起始位、主体数据、校验位及停止位,双方需要约定一致的数据包格式才能正常收发数据的有关规范。在串口通信中,常用的协议包括RS-232、RS-422和RS-485。 想要加强理解,我们可以通过分层来简化这个复杂的问题。将通讯协议分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保

2021-10-27 18:00:44 941

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

实验要求:以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED 搭建电路,使用GPIOB、GPIOC、GPIOD这3个端口控制LED灯,轮流闪烁,间隔时长1秒。1)写出程序设计思路,包括GPIOx端口的各寄存器地址和详细参数;2)分别用汇编语言,C语言编程实现。 一、实验原理 1、寄存器映射 每个寄存器占用32bit,对寄存器操作的初步内容是要找到寄存器的起始地址。这一步,可以通过查找数据手册完成,那么怎么使用这个手册呢? 要知道,寄存器的映射地址等于分三步进行,.

2021-10-24 22:23:50 4665 1

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

一、C语言调用汇编函数 1、新建工程 (1)打开软件Keil uVision4 (2)点击菜单栏的Project,然后单击New uVision Project创建一个新的工程。 (3) 在弹出的页面更改你的保存路径,在文件名的位置输入文件名,我在这里输入test1作为文件名。 (4)默认保存类型为Project Files(*.uvproj) (5)最后单击保存,保存文件。 2、配置环境 (1)选择设备 在弹出的窗口选择STM32F103下拉菜单中的STM32F10...

2021-10-12 20:08:27 362

原创 Ubuntu中OpenCV3.4.11的安装及使用

一、OpenCv 1、简介 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在、Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了和计算机图像处理视觉方面的很多通用算法。 2、应用领域 人机互动 物体识别 图像分割 人脸识别 动作识别 运动跟踪 机器人 运动分析 机器视觉 结构分析 汽车安全驾驶.

2021-10-12 17:18:36 959 1

原创 GCC编译

一、GCC常用命令 1、简单编译 (1)创建文件,输入如下代码,并且编译 #include<stdio.h> int main(void) { printf("Hello World!\n"); return 0; } 步骤: (2)预处理 (3)编译使之成为汇编代码 预处理后,对生成的test.i文件编译,生成汇编代码 (4)汇编 对生成的汇编代码文件test.s,将其编译为目标文件 (5)连接 将程序的目标文件与所需的所有附加目标文件...

2021-10-11 19:34:00 1661

原创 用gcc生成.a静态库和.so动态库

目录 一、准备过程 二、静态库的使用 三、动态库的使用 四、静态库和动态库比较 五、使用库完成任务 六、使用库完成任务(二) 七、总结 八、参考资料 一、准备过程 1、创建目录 先创建一个作业目录,保存使用的文件。 2、生成文件 用gedit文本编辑器编辑生成所需要的3个文件。 (1)程序1:hello.h 该函数库的头文件 #ifndef HELLO_H #define HELLO_H void hello(const char *name); #endif //H..

2021-10-10 18:41:22 201

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

一新建工程 1.打开软件Keil uVision4 2.点击菜单栏的Project,然后单击New uVision Project创建一个新的工程。 3.在弹出的页面更改你的保存路径,在文件名的位置输入文件名,我在这里输入test作为文件名 4.默认保存类型为Project Files(*.uvproj) 5.最后单击保存,保存文件。 二 配置环境 1.选择设备 在弹出的窗口选择STM32F103下拉菜单中的STM32F103ZE,点击OK保存 2.选择运行...

2021-10-01 22:23:00 132

原创 嵌入式系统程序设计基础——第1周作业

目录 Ubuntu的安装以及基本设置 直接使用gcc编译简单程序 用gcc编译更复杂的程序 Makefile的使用 总结 Ubuntu的安装以及基本设置 1.首先,在windows环境下通过虚拟机软件Vmware安装Ubuntu 20.04 Desktop, 安装教程我使用的是:2020最新版VMware安装Ubuntu20.04教程(巨细)! - 知乎 (zhihu.com) 2.设置网络参数保证系统能上网,联网展示图如下 直接使用gcc编译简单程序...

2021-09-14 12:50:42 157

空空如也

空空如也

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

TA关注的人

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