- 博客(22)
- 收藏
- 关注
原创 STM32中读写flash
一、创建工程选择自己对应型号的芯片,其他配置如下:配置PC13为output设置堆栈大小为4K二、keil代码编写在main.c文件中添加代码编译无误之后调试三、连线连线如下:ST-LINK STM32 SWCLK/TCK SWCLK/TCK SWDIO/TMS SWDIO/TMS GND GND VCC VCC 在电脑上下载好响应的ST-Link驱动,上电,可以看到STLin...
2021-12-30 20:44:14 1513 1
原创 在STM32下完成对SD卡的数据读取
一、SD卡介绍SD存储卡是一种基于半导体快闪记忆器的新一代记忆设备,由于它体积小、数据传输速度快、可热插拔等优良的特性,被广泛地于便携式装置上使用,例如数码相机、平板电脑和多媒体播放器等。控制器对 SD 卡进行读写通信操作一般有两种通信接口可选,一种是 SPI 接口,另外一种是 SDIO 接口。二、SPI协议前面博客介绍过,参考链接:(1条消息) 基于I2C的温湿度采集(AHT20)OLED显示_傻瓜小汤圆的博客-CSDN博客https://blog.csdn.net/qq_57289359..
2021-12-22 16:16:06 2694
原创 学习使用Altium Designer绘制stm32最小系统的电路原理图,并完成STM32+SD卡 的系统原理图设计
一、下载安装Altium Designer1.下载Altium Designer百度网盘链接:https://pan.baidu.com/s/12ujoCyvgT0oW8pgpp9pSvQ提取码:20022.安装Altium Designer解压iso文件之后点击.exe文件安装一路next操作,软件正在安装安装完成之后把run...那个选项取消,点击finish3.修改文件打开刚刚解压缩后的文件夹 Crack ,复制 shfolder.dll...
2021-12-19 17:42:12 900
原创 在Ubuntu和stm32中进行编程、验证,归纳变量分配地址
目录一、全局变量和局部变量二、堆和栈1.stm32中的堆栈2、程序的内存分配3.stm32数据存储三、Ubuntu和STM32中编程、验证1.代码编写2.在Ubuntu中运行3.在keil中运行1.建立工程2.修改main函数3.编译运行烧录四、参考文献一、全局变量和局部变量全局变量是在所有函数外部定义的变量称为全局变量(Global Variable),它的作用域默认是整个程序,也就是所有的源文件。局部变量是定义在函...
2021-12-15 18:43:49 1152
原创 基于Clion2021点亮LED
一、安装CLion20212.1下载安装clion官网:CLion: A Cross-Platform IDE for C and C++ by JetBrainshttps://www.jetbrains.com/clion/安装过程:点击next然后选中图中的选项,点击next点击INSTAll开始安装选择稍后重启,点击完成2.2运行CLION打开CLION,点击图中按钮去去往JetBrains官网注册登录登录成功之后返回软件...
2021-12-13 11:31:44 689
原创 STM32下移植UCOSIII
目录一、获取UCOSIII源码二、使用CubeMX建立HAL库三、文件夹整理四、添加路径五、修改代码六、运行结果七、虚拟仿真逻辑仪抓取波形八、参考文献一、获取UCOSIII源码进入官网下载:http://micrium.com/downloadcenter/或者百度云下载https://pan.baidu.com/s/1jCoc2sfiij78J0Q-C6ChmA提取码1111二、使用CubeMX建立HAL库配置RCC,设置串口...
2021-12-03 23:13:55 1410 1
原创 基于I2C的温湿度采集(AHT20)OLED显示
目录一、SPI的简介二、OLED显示个人学号姓名1.文字取模方法2.代码编写三、结果展示1.硬件连接2.效果展示四、参考文献及资料1.相关资料2.参考文献一、SPI的简介SPI 协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在 ADC、LCD 等设备与 MCU 间,要求通讯速率较高的场合。SPI 通讯设备之间的常用连接方...
2021-11-20 22:23:30 4533
原创 基于I2C的温湿度采集(AHT20)
目录一、I2C总线通信协议1、I2C介绍2.I2C物理层3.I2C协议层4、软件IIC和硬件IIC二、AHT20温湿度采集程序的实现三、电路连接以及结果演示四、参考文献一、I2C总线通信协议1、I2C介绍IIC(Inter-Integrated Circuit)总线是一种由NXP(原PHILIPS)公司开发的两线式串行总线,用于连接微控制器及其外围设备。多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等...
2021-11-20 20:19:58 7437
原创 在ubuntu中进行点阵字模的读写
目录一、汉字编码(1)区内码(2)机内码(3)点阵字库存储(4)汉字点阵获取1.利用区位码获取汉字2.利用汉字机内码获取汉字二、在图片上添加数字与汉字1.新建工程2.代码实现3.运行结果三、参考文献一、汉字编码(1)区内码在国标 GD2312—80 中规定,所有的国标汉字及符号分配在一个 94 行、94 列的方阵中,方阵的每一行称为一个“区”,编号为 01 区到 94 区,每一列称为一个“位”,编号为01 位到 94 位,...
2021-11-14 18:05:36 121
原创 两台电脑间的串口通信
目录一、准备工作二、实验过程三、实验结果一、准备工作1.两台笔记本电脑2.2个usb转串口模块3.杜邦线若干4.秒表二、实验过程两个串口线分别连接两台电脑。连线方式:3V3-3V3,GND-GND,TXD-RXD,RXD-TXD打开串口助手,设置如下,波特率115200,打开HEX显示,然后打开文件,点击发送文件,等待发送完毕即可,接收方设置也是如此。这里我选择了一个字节大小为224203的图片发送。发送完毕三、实验结果接收方的...
2021-11-14 15:55:12 2854
原创 STM32采用串口DMA方式向上位机连续发送数据
目录一、DMA的介绍1.DMA的基本定义2.DMA的传输方式3.DMA的传输参数二、创建工程三、代码编写四、编译、烧录五、参考文献一、DMA的介绍1.DMA的基本定义DMA即直接存储器访问。DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。我们知道CPU有转移数据、计算、控制程序转移等很多功能,系统运作的核心就是CPU,CPU无时不刻的在处理着大量的事务,但有些事情却没有那么重要,...
2021-11-05 16:23:02 175
原创 HAL库中断开关点灯及串口通信
一、中断的介绍中断通常被定义为一个事件,该事件能够改变处理器执行指令的顺序。这样的事件与 CPU 芯片内外部硬件电路产生的电信号相对应。中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。中断分为同步中断和异步中断。(1)同步中断——同步中断是当指令执行时由 控制单元产生的,之所以称为同步,是因为只有在一条指令终止执行后 CPU 才会发出...
2021-11-05 15:13:24 306
原创 基于MDK创建STM32 汇编程序:串口输出Hello windows
一、编写代码1.创建新的工程并且编写代码注意:不用勾选CORE和Startup创建完工程后,添加 asm 汇编文件,然后添加下面的代码;;RCC寄存器地址映像 RCC_BASE EQU 0x40021000 RCC_CR EQU (RCC_BASE + 0x00) RCC_CFGR EQU (RCC_BASE + 0x04) RCC_CIR ...
2021-10-24 19:05:08 154
原创 安装 stm32CubeMX,在Keil中使用HAL库制作流水灯
一、STM32CubeMx简介STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32 全系列芯片。在CubeMX上,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持多种工具链,比如MDK、IAR For ARM、TrueStudio等 省去了我们配置各种外设的时间,大大的节省了时间。二、..
2021-10-24 16:11:57 2206
原创 STM32F103寄存器方式点亮LED流水灯
一、STM32寄存器规则及IO口介绍本博客将要实现的是控制 STM32 开发板上的三个IO口实现一个类似流水灯的效果,该实验的关键在于如何控制 STM32 的IO口输出。了解了 STM32的IO口如何输出的,就可以实现流水灯了。通过这次的学习,你将初步掌握 STM32 基本 IO 口的使用,而这是迈向STM32的第一步。STM32 的 IO 口可以由软件配置成如下 8 种模式:1、输入浮空2、输入上拉3、输入下拉4、模拟输入5、开漏输出6、推挽输出7、推挽式复用功能..
2021-10-19 22:05:17 821
原创 STM32下C语言与汇编语言混合编程
目录一、新建一个工程1.新建工程2.代码二、C语言中调用汇编函数1.无参数的调用2.带有参数的调用三、汇编语言中调用C语言函数四、寄存器的使用规则五、参考文献一、新建一个工程1.新建工程打开下载好的MDK5,点击project,创建一个新的工程,命名文件并且保存,选择芯片,我选择的是STM32F103C8,然后点击CMSIS,勾选CORE选项,点击Device,勾选Starup选项,点击OK完成设置。然后添加源main.c和f...
2021-10-12 13:16:14 918
原创 Ubuntu18.04下OpenCV3.4.11的安装及使用
一、安装OpenCV(1)安装包1.下载 OpenCV 3.4.11 数据包,国内快速下载地址:OpenCV/opencv_contrib国内快速下载 | 绕云技术博客2.解压缩在解压缩包之前,将 opencv-3.4.11.zip 复制到主目录文件夹下,再解压缩。3.安装opencv输入命令进入解压后的文件夹cd opencv-3.4.11输入命令:sudo su然后执行安装命令sudo apt-get install cmake...
2021-10-08 19:22:19 291
原创 GCC工具编译集
目录一、GCC编译的工具集二、GCC编译过程2.1程序编译2.2实际编译三、ELF文件1.ELF文件2.反汇编ELF一、GCC编译的工具集GCC是编译工具,它可以将 C/C++语言编写的程序转换成为处理器能够执行的二进制代码。下表是部分GCC二进制程序的处理工具。工具 作用 addr2line 用来将程序地址转换成其所对应的程序源文件及所对应的代码行,也可以得到所对应的函数。该工具将帮助调试器在调试的过程中定位对应的源代码位置 as ...
2021-10-07 16:01:16 453
原创 GCC生成静态库.a和动态库.so
目录一、静态库和动态库1.1静态库1.2动态库二、GCC生成静态库和动态库2.1准备过程2.2静态库的使用2.3动态库的使用2.4静态库与动态库的比较三、库的使用实例1.代码:2.生成静态库3.生成动态库一、静态库和动态库1.1静态库静态库即静态链接库(Windows 下的 .lib,Linux 和 Mac 下的 .a)。之所以叫做静态,是因为静态库在编译的时候会被直接拷贝一份,复制到目标程序里,这段代码在目标程序里就不...
2021-10-07 14:45:28 488
原创 Ubuntu系统下程序的编写
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而
2021-09-12 11:01:43 1730
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人