- 博客(21)
- 收藏
- 关注
原创 STM32F1C8T6音频数据的Flash读取与DAC播放
一、题目要求1)在SD卡创建一个test-speed.txt文件,循环(不加延时)分批一次写入256字节,累计写入不少于64KB字节;然后读取此文件数据,通过串口显示出来。分析写入和读取的速率。2)Flash地址空间的数据读取。stm32f103c8t6只有20KB 内存(RAM)供程序代码和数组变量存放,因此,针对内部Flash的总计64KB存储空间(地址从0x08000000开始),运行一次写入8KB数据,总计复位运行代码4次,将32KB数据写入Flash。并验证写入数据的正确性和读写速率。
2021-12-30 23:26:15
443
原创 STM32使用SPI方式读写SD卡
一、SD卡简介1、什么是SD卡2、SD卡的特点3、SD卡的寄存器CSD寄存器包括卡的容量,数据块的大小,非常重要的寄存器本人目前的能力有限,还不能自己写SD卡读取程序,本实验主要是对已有的代码进行验证,工程如下:参考博客:SD卡简介_ba_wang_mao的专栏-CSDN博客_sd卡介绍...
2021-12-23 22:11:17
2456
1
原创 使用Altium Designer绘制一个stm32电路原理图
一、Altium Designer 18的安装这里直接进入百度网盘进行安装链接:https://pan.baidu.com/s/1X-lJdIQpIJselnmpmU2lmA 提取码:ygmr安装过后点击解压点击next 选择中文,接受next下一步,这里不用改选择自己的安装目录安装完成打开软件,点击右上角的设置将crack里的shfolder.DLL复制到安装目录下再次打开软件,点击下图中的选项从cr...
2021-12-22 21:53:14
1654
原创 Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的重温
一、C程序的内存分配1.栈区(stack)由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2.堆区(heap)一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 。它与数据结构中的堆不同,分配方式类似于链表。3.全局区(静态区)(static)全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量、未初始化的静态变量在相邻的另一块区域。当程序结束后,变量由系统释放 。4.文字常量区存放常量字符串。当
2021-12-18 10:20:47
439
原创 安装Clion2021,采用一套新的嵌入式软件开发工具包(替代Keil),完成stm32F103 点亮LED的程序。
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、ClionD的安装这里我们直接进入官网下载:CLion安装设置如下...
2021-12-15 22:56:28
3212
2
原创 STM32F103C8T6移植uCOS基于HAL库
提示:文章写完后,目录可以自动生成,如何生成可 参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、使用CubeMX建立STM32F103C8T6HAL库1.打开CubeMX,创建一个新
2021-12-04 10:46:11
373
1
原创 STM32F103的SPI口进行OLED屏的使用
一、OLED屏字模显示1.关于OLED有机发光二极管(OrganicLight-Emitting Diode,OLED),又称为有机电激光显示、有机发光半导体(OrganicElectroluminescence Display,OLED),是指有机半导体材料和发光材料在电场驱动下,通过载流子注入和复合导致发光的现象。2.关于SPISPI 协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在
2021-11-26 22:43:01
1760
原创 使用STM32F103完成基于I2C协议的AHT20温湿度传感器的数据采集
一.关于I2C协议的介绍1. 概念I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;STM32 标准库则是在寄存器与用户代码之间的软件层。对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。
2021-11-26 20:44:02
1292
原创 两台用户之间的串口通信传输文件
本博客是利用usb转rs232 模块和杜邦线,建立起串口连接。然后将一台电脑的一个文件(如视频、图片)通过串口助手传输到另一台电脑上。本次实验比较简单,就不介绍原理等东西了。第一步连接通过杜邦线连接两个usb,连接方式:两USB串口对应链接 RXD,TXD反串连接 ;TXD -> RXD 后将Usb串口接到电脑com口出如图:第二步,下载串口调试助手链接:百度网盘 请输入提取码提取码:unh8第三步,连接两台电脑并打开串口调试助手并打开串口..
2021-11-19 15:23:35
3435
原创 在Ubuntu下用C/C++(或python)调用opencv库编程显示一张图片并在上面加文字
一.实验内容调用opencv库编程显示一张图片,并打开一个名为"logo.txt"的文本文件(其中只有一行文本文件,包括你自己的名字和学号),按照名字和学号去读取汉字24*24点阵字形字库(压缩包中的文件HZKf2424.hz)中对应字符的字形数据,将名字和学号叠加显示在此图片右下位置。二.实验原理汉字点阵字库原理一、汉字编码1.区位码在国标GD2312-80中规定,所有的国标汉字及符号分配在一个94行、94列的方阵中,方阵的每一行称为一个"区",编号为01区到94区,每一列称为一个"位"
2021-11-14 17:39:28
861
1
原创 STM32采用串口DMA方式的USART串口通讯
一.因为前面写了STM32串口中断之DMA通信,所以这个博客和上次的博客大同小异上次博客:STM32串口中断之DMA通信_qq_51127539的博客-CSDN博客1.创建CubeMX项目,选择103c8芯片RCC设置设置串口设置中断时钟设置:设置保存路径和输出点击生成即可2.根据保存的路径找到生成的keil5文件打开并找到main.c和usart.c在程序的开头添加#include "stdio.h"然后在usa...
2021-11-06 00:45:44
1125
原创 STM32串口中断之DMA通信
一.DMA介绍DMA详细介绍请转博客:嵌入式:初次了解STM32的USART串口通讯(中断方式)_LaiYiFei25的博客-CSDN博客DMA框图二.串口通信要求1)设置波特率为115200,1位停止位,无校验位;2)STM32系统给上位机(win10)连续发送“hello windows!”。win10采用“串口助手”工具接收。3)用中断方式1.创建CubeMX项目选择自己的芯片型号,因为我的是STM32103C8...
2021-11-05 23:37:10
317
原创 STM32中断的使用
一.中断的介绍1.中断的概念2.中断的示意图3.中断的作用二.中断的简单使用使用 用stm32F103核心板的GPIOA端一管脚接一个LED,GPIOB端口一引脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED亮灯;接低电平时,LED灭灯。1.首先打开STM32CUBEMX,新建一个工程选择芯片型号,我选择的是STM32F103C8修改RCC的设置如下图:再点击SYS修改设置:点击GPIO,选择自己用到的管脚...
2021-11-05 17:07:59
736
原创 嵌入式:STM32的USART串口通讯程序
本文运用MDK5生成芯片可执行hex文件,并在串口调试助手上面以查询方式连续发送“hello world”1.建立MDK5项目这里选的STMF103C8不用勾选core和startup创建完工程后,添加 asm 汇编文件键入以下代码参考这里:;RCC寄存器地址映像 RCC_BASE EQU 0x40021000 RCC_CR EQU (RCC_BASE + 0x00) RCC_CFGR..
2021-10-29 15:09:19
356
原创 使用stm32CubeMX,配合Keil,使用寄存器方式或HAL库这两种方式点亮流水灯
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、使用stm32CubeMX点亮流水灯前言提示:以下是本篇文章正文内容,下面案例可供参考一、使用stm32CubeMX点亮流水灯1.打开CubeMX,点击access to mcu selector创建一个新项目2.选择芯片STM32F 103C83.然后点击System Core,进入里面的SYS,在debug那里选择Serial Wire4.然后开始配置时钟,...
2021-10-29 13:47:10
1622
1
原创 32之寄存器点亮流水灯
目录一.学习和理解STM32F103系列芯片的地址映射和寄存器映射原理二.了解GPIO端口的初始化设置三步骤三.以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED 搭建电路,使用GPIOB、GPIOC、GPIOD这3个端口控制LED灯,轮流闪烁,间隔时长1秒。一.1.什么是寄存器?寄存器是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。简单的讲,如果将我们的计算机比作一栋大楼,而寄存器就是这栋大楼中的每一间房子,.
2021-10-23 12:41:25
308
原创 C语言里面调用汇编程序
一.新建项目1.打开Keil,点击Project的第一个2.输入文件名为test13.选择STM32F103ZE,点击ok4.勾选如下图所示点击ok5.给project的Target中的Source Groud 1添加一个项目如图选择第三个Asm File创建汇编程序输入下列程序 AREA MY_Function,CODE,READDNLY EXPORT Init_1Init_1 MOV R1,#0 MOV R2,#0L...
2021-10-13 14:02:04
1977
原创 OpenCV3.4.11的使用
1.opencv的安装详情参见https://blog.csdn.net/ssj925319/article/details/109231145有非常完整的安装教程适合像我这种的linux小白最后安装成功是这样的查看版本号输入pkg-config --modversion opencv2.OpenCV3.4.11的使用(1)创建一个代码存放文件夹touch codecd code(2)创建一个test1.cpp文件gedit test1.cpp输...
2021-10-12 13:57:30
336
原创 用gcc生成静态库和动态库及其使用
目录1.编辑程序 hello.h、hello.c 和 main.c2.将 hello.c 编译成.o 文件3.由.o 文件创建静态库4.在程序中使用静态库5.由.o 文件创建动态库文件6.在程序中使用动态库先创建一个目录保存本次实验的文件#mkdir test1#cd test11.用gedit文档编辑器分别编辑三个程序hello.c#ifndef HELLO_H #define HELLO_H void hello(const char..
2021-10-10 20:12:05
263
原创 基于 ARM 创建 STM32 汇编语言工程并使用电脑仿真
一.新建项目1.打开Keil,点击Project的第一个2.输入文件名为test13.选择STM32F103ZE,点击ok4.勾选如下图所示点击ok5.给project的Target中的Source Groud 1添加一个项目如图选择第三个Asm File 名字输入test6.添加过后输入程序 AREA MYDATA, DATA AREA MYCODE, CODE ENTRY EXPORT __main __main ...
2021-09-25 11:13:03
333
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人