- 博客(19)
- 收藏
- 关注
原创 【嵌入式】STM32F103C8T6音频数据的Flash读取与DAC播放
STM32F103C8T6音频数据的Flash读取与DAC播放一、Flash原理二、Flash数据读取1.工程创建2.代码修改3.调试三、基于片内Flash的提示音播放程序总结参考一、Flash原理不同型号的 STM32,其 FLASH 容量也有所不同,最小的只有 16K 字节,最大的则达到了 1024K 字节。市面上 STM32F1 开发板使用的芯片是 STM32F103系列,其 FLASH 容量一般为 512K 字节,属于大容量芯片。Flash的编程原理都是只能将1写为0,而不能将0写为1,所以在
2021-12-31 12:21:32 1285 1
原创 【嵌入式】用STM32F103完成对SD卡的数据读取
用STM32F103完成对SD卡的数据读取一、SD卡协议原理1.SDIO协议2.SD卡物理结构3.SD卡寄存器列表4.SD卡初始化(SPI模式)5.SD卡读写(SPI模式)6.采用SPI方式,连线二、CubeMX创建工程三、代码1.主函数2.编译四、结果参考一、SD卡协议原理1.SDIO协议SD卡(Secure Digital Memory Card)在我们的生活中已经非常普遍了,控制器对SD卡进行读写通信操作一般有两种通信接口可选,一种是 SPI接口,另外一种就是 SDIO接口。SDIO 全称是 安
2021-12-22 19:29:07 4416
原创 Altium Designer绘制stm32最小系统板原理图及stm32+SD卡绘制
Altium Designer绘制stm32最小系统板原理图及stm32+SD卡绘制一、软件安装1.软件下载2.安装步骤二、绘制原理图1.新建工程文件2.导入现成元器件库3.绘制4.成果三、绘制STM32+SD卡原理图1.绘制SD卡模块原理图2.STM32与SD卡模块之间的连线参考博客一、软件安装1.软件下载网盘链接:https://pan.baidu.com/s/1gVJre-0tW_T2_oRqclYWAQ 提取码:fnr92.安装步骤1.解压后点击setup应用程序2.选择语言,点击下
2021-12-21 11:46:43 1138
原创 【嵌入式】基于Clion下与stm32cubemx点亮LED
安装 CLion2021,采用一套新的嵌入式软件开发工具包(替代 Keil ),完成 stm32F103 点亮 LED 的程序。一、Clion介绍、安装及配置1.Clion介绍2.安装 CLion20213.安装arm-none-eabi-gcc4.安装openocd5.安装MinGW6.添加到系统环境变量7.Clion配置1.创建一个新工程2.配置toolchains3.配置Embedded Development二、实验过程1.创建新的工程2.cubemx生成工程3.配置 CLion 工程文件4.修改代
2021-12-15 20:12:47 668
原创 【嵌入式】Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的分配地址
Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的分配地址一、总体介绍1.栈区(stack)2.堆区(heap)3.全局区(静态区)(1).bss段(2).data段4.常量区5.代码区6.RAM和ROM、Flash Memory的物理特性(1)RAM(2)ROM(3)Flash Memory7.不同数据的存放位置8.Keil 的Build Output窗口二、堆和栈的比较1.性能2.申请方式3.申请后系统的响应4.申请大小的限制5.申请效率的比较6.堆和栈中的存储内容7.存取效率的比较三、实验
2021-12-14 11:58:36 1016
原创 【嵌入式】STM32基于HAL库uc/OS系统移植
STM32基于HAL库uc/OS系统移植一、使用CubeMX建立工程二、下载uc/os源码三、准备工作四、移植五、运行结果1.编译2.烧录3.结果展示参考博客一、使用CubeMX建立工程首先第一步,点击File—>New Project选择芯片STM32F103C8第二步配置RCC第三步配置SYS设置PC13为GPIO_Output用于点亮LED灯设置串口USART1设置工程点击生成代码,并在Keil中打开该工程。二、下载uc/os源码进入官网下载:http://m
2021-12-04 17:41:21 537
原创 【嵌入式】STM32基于SPI通信协议OLED屏显示
STM32基于SPI通信协议OLED屏显示一、SPI协议和OLED介绍1.SPI协议介绍物理层协议层2.OLED显示屏介绍二、显示个人学号姓名实验三、显示AHT20采集的温湿度四、上下或左右滑动显示长字符五、总结参考博客一、SPI协议和OLED介绍1.SPI协议介绍SPI(Serial peripheral interface)即串行外围设备接口,是由Motorola首先在其MC68HCxx系列单片机上定义的,基于高速全双工总线的通讯协议。(又是高速,而且全双工,确实强大)被广泛应用于ADC、LCD等
2021-11-26 19:49:31 6769
原创 【嵌入式】stm32通过I2C接口进行温湿度(AHT20)的采集
stm32通过I2C接口进行温湿度(AHT20)的采集一、I2C总线协议1.I2C简介2.I2C物理层3.I2C协议层4.硬件I2C和软件I2C二、实验内容1.实验题目2.准备3.代码部分4.结果展示三、总结参考博客一、I2C总线协议1.I2C简介I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。在CP
2021-11-23 11:49:17 794
原创 【嵌入式】在Ubuntu系统下通过OpenCV实现点阵汉字的字模读取与显示
介绍汉字点阵的原理,理解汉字的机内码、区位码编码规则和字形数据存储格式,通过OpenCV在Ubuntu系统下显示点阵汉字一、汉字点阵原理1.汉字点阵原理1.点阵2.汉字编码3.点阵字库存储2.汉字点阵获取二、实验要求与过程1.实验题目2.创建文件、源码3.创建文本文件4.编译5.结果三、总结参考文献一、汉字点阵原理1.汉字点阵原理1.点阵我们用之前的方法一个IO口只能控制一个led,如果需要用更少的IO口控制更多的led怎么办?于是,就有了点阵。例如:8X8点阵共由64个发光二极管组成,且每个发光
2021-11-19 19:10:57 356
原创 【嵌入式】电脑之间串口传输文件
本实验主要练习两台电脑之间如何通过串口传输文件一、 串口通信简介1.串口通信概念2.串口如何连接3.计算传输时间二、实验要求及过程1.实验题目2.实验过程三、 结果分析一、 串口通信简介1.串口通信概念 串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节。串行接口简称为串口,串行接口 (Serial Interface)是指数据一位一位地顺序传送。实现双向通信就需要一对传输线,即TX与RX线。由于串口通信是异步的,端口能够在一根线上发送数据同时在
2021-11-19 15:57:14 4083
原创 【嵌入式】 STM32采用串口DMA方式向上位机连续发送数据
STM32采用串口DMA方式向上位机连续发送数据一、初识DMA1.DMA定义2.DMA传输方式3.DMA传输参数4.DMA的主要特征5.STM32中的DMA6.DMA传输方式7.DMA中断8.DMA方式的接口函数二、DMA方式串口通信1.题目2.工程建立3.代码部分4.编译烧录5.结果三、总结四、参考博客一、初识DMA1.DMA定义DMA,全称Direct Memory Access,即直接存储器访问。DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的
2021-11-05 20:20:42 781
原创 【嵌入式STM32】采用中断方法实现点灯和串口通信
采用中断模式进行点灯和串口通信编程一、中断简介1.中断概念2.中断的作用3.中断优先级二、实验题目要求1. 题目一2. 题目二三、中断方式点灯四、中断方式实现串口通信五、实验总结六、参考博客一、中断简介1.中断概念整个中断过程分为三步1.中断发生:当CPU在处理某一事件A时, 发生了另一事件B,请求CPU迅速去处理2.中断处理:CPU暂停当前的工作,转去处理事件B3.中断返回:当CPU将事件B处理完毕后,再回到事件A中被暂停的地方继续处理事件A中断程序执行过程示意图:中断响应过程:2.
2021-11-05 19:08:17 796
原创 【嵌入式】stm32CubeMX+Keil使用HAL库点亮流水灯
stm32CubeMX+Keil使用HAL库点亮流水灯一、实验题目二、CubeMX的下载和安装1.CubeMX简介2.CubeMX的下载3.CubeMX的安装三、利用CubeMX新建工程点亮LED灯1.新建工程2.界面介绍3.引脚配置4.时钟源配置5.代码生成6.编译7.烧录8.结果展示四、keil观察3个端口的输出波形五、总结一、实验题目安装 stm32CubeMX,配合Keil,分别尝试使用寄存器地址方式(汇编或C,不限) 和HAL库这两种方式,完成下列任务:1、重做上一个LED流水灯(博客【嵌入
2021-10-29 19:37:35 491
原创 【嵌入式】STM32串口通信
【嵌入式】STM32串口通信一、串口通信协议1.串口通信简介2.串口通信原理二、RS232通信协议1.RS232协议简介2.机械规约3.电气规约三、STM32的USART串口通信(查询方式)1.题目要求2.连接USB转TTL与C8T63.安装串口驱动和串口调试助手4.代码部分一、串口通信协议1.串口通信简介串口是计算机上一种非常通用的设备通信协议(不要与通用串行总线Universal SerialBus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信接口;
2021-10-29 18:14:25 2385
原创 【嵌入式】STM32F103寄存器方式点亮LED流水灯
目录一、实验题目二、工程文件的建立三、点亮LED灯(软件部分)四、点亮LED灯(实操部分)五、实验总结六、参考博客一、实验题目1、学习和理解STM32F103系列芯片的地址映射和寄存器映射原理;了解GPIO端口的初始化设置三步骤(时钟配置、输入输出模式设置、最大速率设置)。参考网上资料加深理解。(https://blog.csdn.net/geek_monkey/article/details/86291377https://blog.csdn.net/geek_monkey/article/de
2021-10-23 20:52:35 5840 1
原创 STM32的C与汇编语言混合编程
一、实验问题任务:1.参考附件资料,完成C语言调用汇编函数;2.修改参考代码,要求将原汇编语言 Init_1函数的类型改为 int Init_1(init) ,此函数功能修改为 传入一个整型数x,函数运行后返回整型数 x+100。 请编程实现,并仿真跟踪调试。二、实验过程1.设置新工程...
2021-10-12 12:13:21 99
原创 Linux下用gcc生成静态库和动态库及练习使用OpenCV
我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为 静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。一、用gcc生成.a静态库和.so动态库1.编辑生成例子程序hello.h、hello.c、和main.c先创建一个目录来保存此次作业。然后编辑生成所需要的三个文件。hello.h是hello.c的头文件...
2021-10-08 22:34:52 851
原创 基于MDK创建纯汇编语言的STM32工程
基于MDK创建纯汇编语言的STM32工程一、 在Keil环境下创建新项目1、新建工程2、添加源文件二、代码部分1、代码编写2、程序编译和调试三、分析生成的hex文件1、扩展线性地址记录2、数据部分3、文件尾四、总结一、 在Keil环境下创建新项目1、新建工程点击Project———>New uVision Project创建新项目,命名文件并保存选择芯片,然后点击OKCMSIS下选择CORE,Device下选择Startup,选择完后点击OK2、添加源文件右击 Source Gro
2021-09-30 13:25:32 172
原创 嵌入式系统作业一(重新学习)
一、作业题目1. 在windows环境下通过虚拟机软件(比如Vmware、VirtualBox)安装Ubuntu 16.04/18.04 Desktop,并设置网络参数保证系统能上网;熟练掌握Ubuntu常用命令,并学习使用vi/vim、或nano、或gedit文本编辑软件。2. Ubuntu系统一般采用 apt-get 命令进行某个软件的在线查找和安装,默认官方的软件源仓库位于国外,下载速度较慢。请修改系统参数,选择国内镜像软件源仓库,以提高软件安装速度。3. 在Ubuntu系统下用C语言编写
2021-09-14 11:20:34 316
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人