- 博客(20)
- 收藏
- 关注
原创 STM32音频数据的Flash读取与DAC播放
一、Flash简介1、闪存的读取STM32F1 可通过内部的 I-Code 指令总线或 D-Code 数据总线访问内置闪存模块,本章我们主要讲解数据读写,即通过 D-Code 数据总线来访问内部闪存模块。为了准确读取 Flash 数据,必须根据 CPU 时钟 (HCLK) 频率和器件电源电压在 Flash 存取控制寄存器 (FLASH_ACR)中正确地设置等待周期数(LATENCY)。当电源电压低于 2.1V 时,必须关闭预取缓冲器。等待周期通过 FLASH_ACR 寄存器的 LATENCY[2
2021-12-30 23:17:58
1550
原创 安装 Altium Designer18 并绘制 stm32 最小系统以及SD卡的电路原理图
1 安装 Altium Designer 18下载好压缩包之后,将其解压出来打开 AltiumDesigner18Setup.exe 文件,开始安装点击next选择接受点击next不用再勾选直接点击next选择安装目录再点击next等待下载注意不要勾选启动,点击finish...
2021-12-24 21:49:53
396
原创 STM32F103完成对SD卡的数据读取
1、SD卡协议简介SD卡(Secure Digital Memory Card)在我们的生活中已经非常普遍了,控制器对SD卡进行读写通信操作一般有两种通信接口可选,一种是 SPI接口,另外一种就是 SDIO接口。SDIO 全称是 安全数字输入/输出接口,多媒体卡(MMC)、SD卡、SD I/O卡 都有 SDIO接口。STM32F103系列控制器有一个 SDIO主机接口,它可以与 MMC卡、SD卡、SD I/O卡 以及 CE-ATA 设备进行数据传输。MMC卡可以说是SD卡的前身,现阶段已经用得很少.
2021-12-23 11:40:37
2728
原创 CLion2021的安装教程并基于 CLion 实现 stm32F103 点亮 LED
一、安装CLion20211.安装环境Win10 系统 64 位2.下载安装官网下载地址https://www.jetbrains.com/zh-cn/clion/download/#section=windows进入官网下载:CLion2021.3Winx64打开我们下载好的clion进行安装选择号自己的安装路径点击下一步选择以下选项再点击下一步点击install进行下载这样就安装完成。3.安装配置 arm-n...
2021-12-16 23:20:15
1324
原创 基于Ubuntu 和 STM32 的C程序的内存分区
一、内存分区简介1.C语言中的内存分区 栈区(stack):存放函数形参和局部变量(auto类型),由编译器自动分配和释放 堆区(heap):该区由程序员申请后使用,需要手动释放否则会造成内存泄漏。如果程序员没有手动释放,那么程序结束时可能由OS回收。 全局/静态存储区:存放全局变量和静态变量(包括静态全局变量与静态局部变量),初始化的全局变量和静态局部变量放在一块,未初始化的放在另一块 文字常量区:常量在统一运行被创建,常量区的内存是只读的,程序结束后由系统释放。
2021-12-15 20:55:29
1009
原创 基于HAL库STM32F103C8T6移植uCOS
一、使用STM32CubeMX建立STM32F103C8T6HAL库打开stm32cubemx首先进行配置RCC再配置SYS,配置如下图设置PC13为GPIO_Output用于点亮LED灯然后再进行串口USART1的设置完成之后再设置工程然后点击生成代码之后再在main函数中添加如下代码while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ HA...
2021-12-07 20:56:34
2877
原创 基于STM32的0.96寸OLED显示屏显示数据
一、SPI协议1、SPI 协议简介SPI 协议是由摩托罗拉公司提出的通讯协议 (Serial Peripheral Interface),即串行外围设备接口,是 一种高速全双工的通信总线。它被广泛地使用在 ADC、LCD 等设备与 MCU 间,要求通讯速率 较高的场合。 学习本章时,可与 I2C 章节对比阅读,体会两种通讯总线的差异以及 EEPROM 存储器与 FLASH 存储器的区别。下面我们分别对 SPI 协议的物理层及协议层进行讲解。2、SPI 物理层SPI 通讯设备之间的常用连接方式
2021-11-26 17:49:51
6697
原创 STM32F103基于I2C协议的AHT20温湿度传感器的数据采集
一、I2C1、I2C 协议简介I2C 通讯协议 (Inter - Integrated Circuit) 是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单, 可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多 个集成电路 (IC) 间的通讯。2、I2C 物理层物理层有如下特点:(1) 它是一个支持设备的总线。“总线”指多个设备共用的信号线。在一个 I2C 通讯总线中,可 连接多个 I2C 通讯设备,支持多个通讯主机及多个通讯从机.
2021-11-23 23:29:15
928
原创 串口文件传输及点阵汉字字模的读取与显示
一、串口文件传输二、汉字点阵字库原理(一)汉字编码1.区位码在国标 GD2312—80 中规定,所有的国标汉字及符号分配在一个 94 行、94 列的方 阵中,方阵的每一行称为一个“区”,编号为 01 区到 94 区,每一列称为一个“位”,编号为 01 位到 94 位,方阵中的每一个汉字和符号所在的区号和位号组合在一起形成的四个阿拉 伯数字就是它们的“区位码”。区位码的前两位是它的区号,后两位是它的位号。在区位码中,01-09区为特殊字符,10-55区为一级汉字(3755个最常用的汉字,按拼音
2021-11-17 23:13:03
471
原创 STM32通过中断方式控制LED灯、串口通信以及通过DMA想上位发送信息
目录一、STM32中断1、何为中断2.中断相应的过程3.中断的优先级二、高低电平控制LED灯的亮灭三、中断实现串口通信四、实现用DMA连续向上位机发送数据五、总结六、参考资料一、STM32中断1、何为中断在处理器中,中断是一个过程,即CPU在正常执行程序的过程中,遇到外部/内部的紧急事件需要处理,暂时中止当前程序的执行,转而去为处理紧急的事件,待处理完毕后再返回被打断的程序处继续往下执行。2.中断相应的过程中断源发出中断请求判断处理器是
2021-11-05 22:21:46
732
原创 STM32cubeMX实现流水灯以及STM32串口通信
一、串口通信协议以及RS-232标准1.1基本内容串口通信指串口按位(bit)发送和接收字节。尽管比特字节(byte)的串行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。串口通信协议是指规定了数据包的内容,内容包含了起始位、主体数据、校验位及停止位,双方需要约定一致的数据包格式才能正常收发数据的有关规范。在串口通信中,常用的协议包括RS-232、RS-422和RS-485。波特率串口异步通讯中由于没有时钟信号,所以通讯双方需要约定好波特率,即每个码元的长度,以便对信号进行
2021-10-26 22:42:45
935
原创 STM32的C与汇编语言混合编程
目录一、C语言调用汇编函数二、将原汇编语言 Init_1函数的类型改为 int Init_1(init) ,此函数功能修改为 传入一个整型数x,函数运行后返回整型数 x+100三、在汇编函数中调用一个c语言写的函数四、总结五、参考文献一、C语言调用汇编函数先在项目下新建两个文件main.c和Func.smain.c 和Func.s的代码如下main.c#include<stdio.h>extern void Init_1(void...
2021-10-10 22:50:30
247
原创 ubuntu环境下安装opencv教程及测试
目录一、安装opencv(1)下载opencv-3.4.15数据包(2)解压缩包(3)使用 cmake 安装 opencv(4)配置环境(5)检验二、实例使用(1)打开图片(2)打开摄像头显示处理视频(3)录制视频三、总结四、参考文献一、安装opencv(1)下载opencv-3.4.15数据包打开浏览器,进入下载地址Release OpenCV 3.4.15 · opencv/opencv · GitHub,选择Source ..
2021-10-08 19:40:16
9860
1
原创 linux gcc常用命令
一、准备工作先创建一个test1文件,再用文本编辑器生成一个 C 语言编写的简单 Hello.c 程序为示例#include <stdio.h>int main(void){ printf("Hello World! \n"); return 0;}二、单程序编译(1)预处理在终端中输入预处理命令如下gcc -E hello.c -o hello.i(2)编译对预处理完的文件进行一系列的词法分析,语法分析,语义分析及
2021-10-08 15:14:33
708
原创 linux环境下用gcc生成.a静态库和.so动态库
目录一、用gcc生成静态库和动态库1.以hello world为例(1)创建hello.c,hello.h,main.c程序(2)再生成.o文件(3)生成.a静态库文件(4)在程序中使用静态库(5)创建.so动态库文件(6)在程序中使用动态库二、实例演示1.程序编写2.生成.a静态库文件3、生成 .so 动态库文件4.静态库与动态库文件大小对比三、总结四、参考文献一、用gcc生成静态库和动态库1.以hello world为例(1..
2021-10-07 21:07:01
609
原创 Keil环境下创建STM32汇编语言工程并分析HEX文件内容
一、创建新的项目1.新建工程首先点击Project选择New uVision Project创建一个新的项目将文件命名后再将其保存然后会弹出一个窗口选择芯片,选择STM32F103VE,然后点击ok在CMSIS下选择CORE;Device下Startup,然后点击OK2.添加源文件点击Target1选择Source Group 1,点击Add New Item to Group 'Source Group 1'选择Asm Files (....
2021-09-29 20:50:26
220
原创 基于VMware上的Ubuntu系统使用gcc以及makefile编译C程序
目录1.在Ubuntu系统下用C语言编写一个简单的输出 hello word 的程序2.在ubuntu系统下使用gcc 编译c语言3.在Dev-c++中编译c语言4.在makefile中编译c语言5.总结6.参考文献1.在Ubuntu系统下用C语言编写一个简单的输出 hello word 的程序主程序代码:输入./a.out 对其进行编译并输出结果2.在ubuntu系统下使用gcc 编译c语言编写主程序以及子程序...
2021-09-14 20:48:39
954
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人