- 博客(17)
- 收藏
- 关注
原创 STM32F1C8T6音频数据的Flash读取与DAC播放
一、Flash地址空间的数据读取1.工程的建立使用STM32CubeMX进行配置,重要配置如下:SYSRCC引脚配置时钟配置堆栈大小2.修改代码main.c并添加如下代码:/* USER CODE BEGIN 1 */ uint8_t i; uint8_t FlashTest[] = "Hello This is a Flash Test DEMO"; /* USER CODE END 1 */ /* MCU Configuration---------
2021-12-31 19:14:28
1302
原创 STM32F103 完成对SD卡的数据读取
文章目录一、SD卡原理1.SD卡简介2.SD卡的发展3.结构4.SD模式5.容量等级二、操作步骤1.具体连线2.修改代码3.实验展示三、总结四、参考文献一、SD卡原理1.SD卡简介SD存储卡是一种基于半导体快闪记忆器的新一代记忆设备,由于它体积小、数据传输速度快、可热插拔等优良的特性,被广泛地于便携式装置上使用,例如数码相机、平板电脑和多媒体播放器等。2.SD卡的发展SD卡是由松下电器、东芝和SanDisk联合推出,1999年8月发布。SD卡的数据传送和物理规范由MMC发展而来,大小和MMC卡差不
2021-12-25 20:14:04
694
原创 stm32和Ubuntu下C程序的内存分配
一、实验目的编写一个C程序,重温全局变量、局部变量、堆、栈等概念,在Ubuntu(x86)系统和STM32(Keil)中分别进行编程、验证(STM32 通过串口printf 信息到上位机串口助手) 。归纳出Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的分配地址,进行对比分析二、内存分配分配方式内存分配方式在C语言中,对象可以使用静态或动态的方式分配内存空间。静态分配:编译器在处理程序源代码时分配。动态分配:程序在执行时调用malloc库函数申请分配。静态内存分配是在程序执行之
2021-12-25 19:08:20
315
原创 学习Clion源码编辑器并点亮LED灯
文章目录一、环境建立1.安装CLion2.安装 arm-none-eabi-gcc3. 安装MinGW4.安装OpenOCD二、工程的建立1.STM32CubeMX创建工程2.调整CLion参数及选项3.实验展示三、总结四、参考文献一、环境建立1.安装CLion官网下载:CLion2021.2 Winx64https://www.jetbrain
2021-12-16 17:50:10
368
原创 STM32F103C8移植uCOSIII
一、移植uc/OS-III1.使用STM32CubeMX建立hal库建立工程选择STM32F103C8芯片RCC中的HSE为Crystal/Ceramic ResonatorSYS中,在Debug处选择Serial Wire设置串口USART1设置PC13与PA3为GPIO_Output点击Clock Configuration进行如下配置在Code Generator中勾选最后,更改如下设置即可2.下载uC/OS-III源码①官网下载:http://micrium.c
2021-12-05 20:33:58
483
原创 基于I2C/SPI总线的温湿度采集与OLED显示
一、基于I2C协议的AHT20温湿度传感器的数据采集1. I2C总线通信协议1.1 I2C总线知识I2C 总线在物理连接上非常简单,分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。通信原理是通过对SCL和SDA线高低电平时序的控制,来 产生I2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。1.2 I2C总线特征I2C总线上的每一个设备都可以作为主设备或者从设备,而且每一个设备都会对应一个唯一的地址(可以从I2C器件的
2021-11-26 15:17:51
2823
原创 串口传输文件与点阵汉字的字模读取与显示
一、串口传输文件1.实验内容 串口传输文件的练习。将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑,预算文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。2.实验过程①将串口连接好接入一台电脑上②打开串口调试助手,选择一张图片导入,并将其波特率设置为115200③再打开一个串口调试助手,调整好端口号,点击打开串口,再点击发送文件如图为传
2021-11-15 21:02:45
347
原创 STM32中断与DMA通信编程
一、实验题目学习stm32中断、DMA通信原理和编程方法。使用stm32tubemx和HAL库分别完成以下编程练习:用stm32F103核心板的GPIOA端一管脚接一个LED,GPIOB端口一引脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED亮灯;接低电平时,LED灭灯。采用串口中断方式重做上周的串口通信作业。STM32采用串口DMA方式,用115200bps或更高速率向上位机连续发送数据。二、知识点1.中断定义不同的计算机其硬件结构和软件指令是不
2021-11-06 21:24:50
388
原创 串口通信牛刀小试
stm32CubeMX的安装安装STM32CubeMX 6.3.0点击Next勾选"I accept the terms of this license agreement",接着选择Next勾选两个选项,在点击Next选择下载地址,点击Next选择Next继续选择Next点击Done即可完成此时还需要安装依赖包展开STM32F1勾选1.84,然后点击Install Now完成1.初始化代码选择File,点击New Project选择型号STM32F103C
2021-10-29 14:45:09
3653
原创 STM32F103寄存器方式点亮LED流水灯
一丶原理STM32F103C8T6芯片简介根据STM32&STM8产品型号命名规则(参考:STM32单片机最小系统详解)可知: STM32F103C8T6这个命名中:STM32代表STM32家族,32位MCU;F代表产品类型为基础型;103代表特定功能为STM32基础型;C代表引脚数为48&49引脚;8代表内存容量为64KB;T代表封装为QFP;6代表温度范围为-40到+85℃。核心板原理图二、工程的建立首先新建一个light工程,本实验要求我们用STM32C8T6
2021-10-24 20:10:26
296
原创 gcc生成动态库和静态库
一、用gcc生成静态库和动态库(1)静态库静态是指每个用到该库的应用程序都拥有一份自己的库拷贝;(2) 共享库一个共享库有可能被多个所有应用程序共享。1.编辑生成例子程序 hello.h、hello.c 和 main.c。先创建一个作业目录,保存本次练习的文件。#mkdir test1#cd test1然后用 vim、nano 或 gedit 等文本编辑器编辑生成所需要的 3 个文件。hello.c(见程序 2)是函数库的源程序,其中包含公用函数 hello,该函数将在屏幕上输出"Hel
2021-10-14 17:03:27
2313
原创 OpenCV3.4.11的安装及使用示例
一、OpenCV简介OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 [1] 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV用C++语言编写,它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS
2021-10-14 16:27:11
389
原创 STM32的C语言与汇编语言混合编程
一、建立项目新建一个项目,过程与ARM汇编程序调试:基于MDK创建纯汇编语言的STM32工程类似添加main.c和Func.sFunc.s:```groovyAREA MY_FUNCTION,CODE,READONLY EXPORT Init_1 ; 与在c文件中定义的Init_1函数关联起来; 高级语言中的声明和使用变量其实是对板子寄存器的使用,所以我们只需要直接使用寄存器即可Init_1 MOV R1,#0 ; 设R1寄存器为i MOV R2,#0
2021-10-13 22:50:50
182
原创 Linux gcc常用命令及其背景
简介GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等。而 GCC 也不再单只是 GNU C 语言编译器的意思了,而是变成了 GNU Compiler Collection 也即是 GNU 编译器家族的意思了。另一方面,说到 GCC 对于操作系统平台及硬件平台支
2021-10-13 17:06:34
124
原创 基于STM32的汇编程序
一、KEIL的下载安装1. mdk531的安装解压压缩包后以管理员身份运行mdk531.exe在这里插入图片描述点击Next勾选同意后,点击Next选择好安装目录后点击Next双击一下文件,安装STM32库安装好后,我们可以激活它,以管理员身份运行Keil uVision5(注意一定要用管理员身份运行,否则无法激活),点击File中的License Management之后会出现以下界面,复制红框中的CID码解压后双击打开第一步Target选择ARM,第二步将License
2021-10-01 19:02:39
503
原创 Ubuntu系统下C语言的编译及makefile的应用
Ubuntu系统下C语言的编译及makefile的应用*1.Ubuntu系统下编写C语言程序1.编写HelloWorld程序
2021-09-14 18:16:08
137
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人