- 博客(23)
- 收藏
- 关注
原创 HTML & CSS 学习总结
在这几次的学习中,我了解到了什么是HTML以及如何撰写HTML文档在这一章节中,我学习到了什么是HTML、如何构建一个HTML文档以及它的结构。
2022-07-09 18:58:10
273
原创 STM32DAC音频播放
基于片内Flash的提示音播放程序。1)实验数据准备:用Adobe audition或goldwave等音频编辑软件录制“您好欢迎光临!”的几秒钟的声音(8khz采样、8bit量化编码的单声道wav格式),确保音频数据尽量小(最大不超64KB)。然后编程将其分批次写入stm32f103c8t6芯片内部flash区域。2)数字音频还原播放任务:编程读取此段音频,分别通过 (a)stm32f103c8t6自带的DAC通道,转换为模拟音频进行播放,并用示波器观察波形,用耳机/喇叭收听,评判音乐还原效果;.
2021-12-31 10:01:12
1124
原创 使用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
5690
原创 STM32用cube配置FATFS模式下SPI读写SD卡
要求:掌握SD卡协议原理,用STM32F103 完成对SD卡的数据读取(FAT文件模式)一、SD卡与FATS1、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
1788
原创 Ubuntu、stm32下的C程序中内存分配问题
编写一个C程序,重温全局变量、局部变量、堆、栈等概念,在Ubuntu(x86)系统和STM32(Keil)中分别进行编程、验证(STM32 通过串口printf 信息到上位机串口助手) 。归纳出Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的分配地址,进行对比分析。一、C程序的内存分配栈区(stack)由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。堆区(heap)一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 。它与数据.
2021-12-21 16:22:44
185
原创 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
581
原创 STM32F103C8T6移植uC/OS-III基于HAL库
一、获取uC/OS-III源码可以在官网下载,但是速度很慢所以直接在这个连接下载就好
2021-12-04 10:51:34
150
原创 基于STM32的OLED滚动宣示长字符
要求:理解OLED屏显和汉字点阵编码原理,使用STM32F103的SPI或IIC接口实现以下功能:上下或左右的滑动显示长字符一、OLED屏的滚屏命令关于每一天命令的详细介绍,参照下面的博客:https://wlink.blog.csdn.net/article/details/813297701、水平滚动配置此指令用于配置水平滚动参数和确定滚动起始页、终止页和滚动速度水平滚动需要在调用此命令前禁用(2Eh), 否则RAM中的内容将会出错水平滚动的例子水平左右移动OLED_WR_B.
2021-11-21 17:46:01
694
原创 基于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
2133
原创 基于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
6490
原创 基于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
5246
2
原创 点阵汉字的字模读取与显示
学习理解汉字的机内码、区位码编码规则和字形数据存储格式。在Ubuntu下用C/C++(或python) 调用opencv库编程显示一张图片,并打开一个名为"logo.txt"的文本文件(其中只有一行文本文件,包括你自己的名字和学号),按照名字和学号去读取汉字24*24点阵字形字库(压缩包中的文件HZKf2424.hz)中对应字符的字形数据,将名字和学号叠加显示在此图片右下位置。一、汉字点阵字库原理(一) 汉字编码1、区位码在国标 GD2312—80 中规定,所有的国标汉字及符号分配在一个 94 .
2021-11-15 19:36:14
219
原创 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
198
原创 基于 MDK实现STM32串口通信
一、串口协议与RS-232标准1、串口协议串口通信指串口按位(bit)发送和接收字节。尽管比特字节(byte)的串行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。串口通信协议是指规定了数据包的内容,内容包含了起始位、主体数据、校验位及停止位,双方需要约定一致的数据包格式才能正常收发数据的有关规范。在串口通信中,常用的协议包括RS-232、RS-422和RS-485。想要加强理解,我们可以通过分层来简化这个复杂的问题。将通讯协议分为物理层和协议层。物理层规定通讯系统中具有机械、电子功
2021-10-27 18:02:09
623
原创 搭建STM32CubeMX环境并实现LED流水灯
一、预备知识1、串口协议串口通信指串口按位(bit)发送和接收字节。尽管比特字节(byte)的串行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。串口通信协议是指规定了数据包的内容,内容包含了起始位、主体数据、校验位及停止位,双方需要约定一致的数据包格式才能正常收发数据的有关规范。在串口通信中,常用的协议包括RS-232、RS-422和RS-485。想要加强理解,我们可以通过分层来简化这个复杂的问题。将通讯协议分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保
2021-10-27 18:00:44
821
原创 STM32F103寄存器方式点亮LED流水灯
实验要求:以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED 搭建电路,使用GPIOB、GPIOC、GPIOD这3个端口控制LED灯,轮流闪烁,间隔时长1秒。1)写出程序设计思路,包括GPIOx端口的各寄存器地址和详细参数;2)分别用汇编语言,C语言编程实现。一、实验原理1、寄存器映射每个寄存器占用32bit,对寄存器操作的初步内容是要找到寄存器的起始地址。这一步,可以通过查找数据手册完成,那么怎么使用这个手册呢?要知道,寄存器的映射地址等于分三步进行,.
2021-10-24 22:23:50
4521
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
300
原创 Ubuntu中OpenCV3.4.11的安装及使用
一、OpenCv1、简介OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在、Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了和计算机图像处理视觉方面的很多通用算法。2、应用领域人机互动 物体识别 图像分割 人脸识别 动作识别 运动跟踪 机器人 运动分析 机器视觉 结构分析 汽车安全驾驶.
2021-10-12 17:18:36
878
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
1520
原创 用gcc生成.a静态库和.so动态库
目录一、准备过程二、静态库的使用三、动态库的使用四、静态库和动态库比较五、使用库完成任务六、使用库完成任务(二)七、总结八、参考资料一、准备过程1、创建目录先创建一个作业目录,保存使用的文件。2、生成文件用gedit文本编辑器编辑生成所需要的3个文件。(1)程序1:hello.h 该函数库的头文件#ifndef HELLO_H#define HELLO_Hvoid hello(const char *name);#endif //H..
2021-10-10 18:41:22
147
原创 基于MDK创建纯汇编语言的STM32工程
一新建工程1.打开软件Keil uVision42.点击菜单栏的Project,然后单击New uVision Project创建一个新的工程。3.在弹出的页面更改你的保存路径,在文件名的位置输入文件名,我在这里输入test作为文件名4.默认保存类型为Project Files(*.uvproj)5.最后单击保存,保存文件。二 配置环境1.选择设备 在弹出的窗口选择STM32F103下拉菜单中的STM32F103ZE,点击OK保存2.选择运行...
2021-10-01 22:23:00
89
原创 嵌入式系统程序设计基础——第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
122
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人