自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

一、Flash原理不同型号的 STM32,其 FLASH 容量也有所不同,最小的只有 16K 字节,最大的则达到了 1024K 字节。市面上 STM32F1 开发板使用的芯片是 STM32F103系列,其 FLASH 容量一般为 512K 字节,属于大容量芯片。Flash的编程原理都是只能将1写为0,而不能将0写为1,所以在进行Flash编程前,必须将对应的块擦除,即将该块的每一位都变为1,块内所有字节变为0xFF。STM32F1 的闪存(Flash)模块:主存储器、信息块、闪存存储器接口寄存器①主

2021-12-31 19:58:54 2048 1

原创 STM32F103完成对SD卡的数据读取详细操作

一、题目要求掌握SD卡协议原理,用STM32F103完成对SD卡的数据读取(fat文件模式)。二、SD卡协议原理1、SD卡简述很多单片机系统都需要大容量存储设备,以存储数据。目前常用的有 U 盘,FLASH 芯片,SD 卡等。他们各有优点,综合比较,最适合单片机系统的莫过于 SD 卡了,它不仅容量可以做到很大(32GB 以上),支持 SPI/SDIO 驱动,而且有多种体积的尺寸可供选择(标准的 SD 卡尺寸,以及 TF 卡尺寸等),能满足不同应用的要求。只需要少数几个 IO 口即可外扩一个高达 3

2021-12-23 00:16:41 2465 2

原创 Altium Designer安装绘制stm32最小系统

一、软件安装1.软件下载网盘链接:https://pan.baidu.com/s/1gVJre-0tW_T2_oRqclYWAQ提取码:fnr92.安装步骤1.解压后点击setup应用程序2.选择语言,点击下一步3.点击下一步4.选择安装路径(注意要空文件夹)5.继续next,点击finish。6.在你的安装路径下找到该文件复制并粘贴进:7.打开软件,点击Add standalone license file接下来在这个文件夹任选一个打开点击ok8.点击设置

2021-12-22 17:16:10 973

原创 基于Clion下与stm32cubemx点亮LED

一、Clion介绍、安装及配置1.Clion介绍Clion 是一款专门开发 C 以及 C++ 所设计的跨平台的 IDE。它是以 IntelliJ 为基础设计的,包含了许多智能功能来提高开发人员的生产力。这种强大的 IDE 帮助开发人员在 Linux、OSX 和 Windows 上来开发 C/C++ ,同时它还能使用智能编辑器来提高代码质量、自动代码重构并且深度整合 Cmake 编译系统,从而提高开发人员的工作效率。CLion 支持 GCC、clang、MinGW、Cygwin 编译器以及 GDB 调

2021-12-17 22:39:29 256

原创 【嵌入式】Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的分配地址

一、总体介绍在一个STM32程序代码中,从内存高地址到内存低地址,依次分布着栈区、堆区、全局区(静态区)、常量去、代码区,其中全局区中高地址分布着.bss段,低地址分布着.data段。总的分布如下图所示下面分别对每一个区做详细的介绍。1.栈区(stack)临时创建的局部变量存放在栈区。函数调用时,其入口参数存放在栈区。函数返回时,其返回值存放在栈区。const定义的局部变量存放在栈区。2.堆区(heap)堆区用于存放程序运行中被动态分布的内存段,可增可减。可以有malloc等函数实现动

2021-12-16 12:54:34 693

原创 STM32之移植uCOSIII(HAL库)

一.使用CubeMX建立STM32F103C8T6HAL库创建新工程配置RCC配置SYS设置PC13为GPIO_Output用于点亮LED灯设置串口USART1设置工程二.准备uCOSIII源码进入官网下载:http://micrium.com/downloadcenter/打开目录如下三、准备移植.将uCOS相关文件复制到HAL工程的MDK-ARM文件夹下四.开始移植Keil打开HAL工程1.将uCOS文件添加到项目点击Manage Project Item

2021-12-04 22:18:59 679

原创 基于I2C/SPI总线的温湿度采集与OLED显示

一、“软件I2C”和“硬件I2C”I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。1.硬件I2C只要配置好对应的寄存器,外设就会产生标准串口协议的时序。在初始化好 I2C 外设后,只需要把某寄存器位置 1,此时外设就会控制对应的 SCL 及 SDA 线自动产生 I2C 起始信号,不需要内核直接控制引脚的电

2021-11-26 22:26:42 1849

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

Ubuntu下的opencv在图片上加汉字和数字一、汉字编码(一)区位码在国标 GD2312—80 中规定,所有的国标汉字及符号分配在一个 94 行、94 列的方阵中,方阵的每一行称为一个“区”,编号为 01 区到 94 区,每一列称为一个“位”,编号为01 位到 94 位,方阵中的每一个汉字和符号所在的区号和位号组合在一起形成的四个阿拉伯数字就是它们的“区位码”。区位码的前两位是它的区号,后两位是它的位号。用区位码就可以唯一地确定一个汉字或符号,反过来说,任何一个汉字或符号也都对应着一个唯一的区位码

2021-11-19 14:37:12 289

原创 STM32中断与DMA通信编程

一、什么是中断中断是当CPU在处理某一事件A时,发生了另一事件B,请求CPU迅速去处理,CPU暂停当前的工作,转去处理事件B,当CPU将事件B处理完毕后,再回到事件A中被暂停的地方继续处理事件A。简单来说,就是停止做的事情,过会儿继续做。二、NVIC介绍NVIC 是嵌套向量中断控制器,控制着整个芯片中断相关的功能,它跟内核紧密耦合,是内核里面的一个外设。但是各个芯片厂商在设计芯片的时候会对Cortex-M3内核里面的NVIC进行裁剪,把不需要的部分去掉,所以说 STM32的 NVIC是 Cortex

2021-11-06 14:50:28 205

原创 作业七STM32CubeMX及汇编语言串口通信

​一、STM32CubeMX的环境搭建(一)安装STM32CubeMX官网下载链接:https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html注册并下载​​​​​​​​​​​​​​​​​​​​​​​​

2021-10-29 21:38:20 229

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

一、理解芯片的地址映射和寄存器映射原理what is 寄存器?寄存器如其名,是cpu内部的“寄”在那儿“存”放数据的机“器”。就是一块暂时存放数据的内存。简单来说,就是计算机的仓库,寄存器的地址就是每一个小仓库的门牌号,由0,1一串比特流构成地址。这个给已经分配好地址的有特定功能的内存单元取别名的过程就叫寄存器映射。STM32 的外设地址映射APB1 总线基地址是 0x4000 0000,相对外设基地址的偏移量是0,所以此总线也是外设 Block2 的基地址。二、理解GPIO1、什么是G

2021-10-23 23:18:28 700

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

一、在c语言中调用汇编语言新建一个工程芯片型号,我选的是STM32F103VE配置如下建立c文件代码如下#include<stdio.h>extern void Init_1(void);int main(){ Init_1(); return 0;}建立汇编文件代码如下 AREA My_Function,CODE,READONLY EXPORT Init_1In...

2021-10-12 21:52:55 460

原创 gcc下的静态库与动态库

一、何为静态库与动态库静态库在程序编译时会被连接到目标代码中,程序运行不需要静态库的存在。动态库在程序编译时不会被连接到目标代码中,而是程序运行时载入的。两者区别:前者是编译连接的,后者是程序运行载入的。二、库的生成与使用(一)准备代码hello.h#ifndef HELLO_H#define HELLO_Hvoid hello(const char *name);#endif//HELLO_Hhello.c#include<stdio.h>void.

2021-10-10 22:33:52 548

原创 Ubuntu下的OpenCV

(一)what is OpenCV开源计算机视觉(OpenCV)是一个主要针对实时计算机视觉的编程函数库。OpenCV的应用领域包括:2D和3D功能工具包、运动估计、面部识别系统、手势识别、人机交互、移动机器人、动作理解、物体识别、分割和识别、实体影像立体视觉:来自两个摄像机的深度感知、运动跟踪、增强现实等。(二)opencv的安装安装软件(1)下载安装包国内快速下载地址:OpenCV/opencv_contrib国内快速下载 | 绕云技术博客(2)解压...

2021-10-10 16:44:28 235

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

1新建工程启动界面如下所示2点击菜单栏Project,如下图所示

2021-09-30 15:07:28 170

原创 嵌入式作业1

编写一个主程序文件 main1.c 和一个子程序文件 sub1.c, 要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。(1)Ubuntu系统下gcc方式新建一个main1.c文件编写子程序用gcc命令编译(2)Windows系统下编译编译主程...

2021-09-12 17:54:10 108

空空如也

空空如也

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

TA关注的人

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