STM32Cube笔记】系列文章目录1-基于STM32的VSCode入门级教程前言2-STM32Cube安装教程3-STM32CubeIDE汉化4-STM32Cube配置时钟设置5-跑马灯引脚配置6-Cortex-M7内核基本配置7-新建用于储存代码的文件夹以及c/h文件8-STM32CubeIDE点亮跑马灯9-STLink调试10-异步串口收发USART11-中断控制器NVIC12-配置外部中
RXNE(读数据寄存器非空),当该位被置 1 的时候,就是提示已经有数据被接收到了,并且可以读出来了。这时候我们要做的就是尽快去读取 USART_DR,通过读 USART_DR 可以将该位清零,也可以向该位写 0,直接清除。  TC (发送完成),当该位被置位的时候,表示 USART_DR 内的数据已经被发送完成了。如果设置了这个位的中断,则会产生中断。该位也有两种清零方式:1)读 USART_S
SPI是 Serial Peripheral interface 的缩写,就是串行外围设备接口。SPI 接口主要应用在 EEPROM, FLASH,实时时钟,AD 转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为 PCB 的布局上节省空间,提供方便,正是出于这
转载 2024-03-27 16:24:58
219阅读
 FatFS 是一个通用的文件系统模块,用于在小型嵌入式系统中实现FAT文件系统。 FatFs 的编写遵循ANSI C,因此不依赖于硬件平台。它可以嵌入到便宜的微控制器中,如 8051, PIC, AVR, SH, Z80, H8, ARM 等等,不需要做任何修改。   特点:  FAT12, FAT16 与 FAT32.多个卷(物理驱动器与分区).两种分区规则: FDISK 与 S
摘要:本文主要介绍了FreeRTOS移植在STM32103上,并进行任务创建,创建了三个任务分别实现了:LED闪烁,串口通信,最后一个任务给出基本框架。 文章目录摘要::writing_hand: 源码介绍:writing_hand: 移植:writing_hand: 创建任务:writing_hand: 总结 ✍️ 源码介绍官网下载源码,解压文件预览FreeRTOS和FreeROS-Plus里就
这个教程不是千篇一律的教你去了解OLED原理,什么是IIC的,这些概念。学过单片机的,都知道什么是IIC,你可能是初学者,对IIC概念了解,但是不熟练应用,也可能初次使用oled,看着显示效果很棒,想亲自动手试一试,那么,你来对地方了。废话不说,先把完整工程文件赠与大家,然后在给大家讲解如何移植这个程序。单片机型号:stm32f103c8t6在移植之前我们先介绍一下OLED屏的取字模软件怎么配置。
GPIOx_CRL(x=A~E) 地址偏移:端口配置的初始地址加上偏移地址就是该特殊寄存器的地址 GPIO通用输入输出8种工作模式 1.浮空输入模式: (1)当GPIOx_CRL或GPIOx_CRH寄存器的CNF[1:0]位设置为01,并且MODE[1:0]位设置为00时 (2)STM32复位之后默 ...
转载 2021-04-08 13:51:00
891阅读
2评论
一、SysTick基础简介:SysTick系统定时器是 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置系统时钟 SYSCLK等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产生一次中断,以此循环往复。因为 SysTick 是属于 CM3 内核的外设,所以所有基于 CM3
转载 2024-05-16 14:20:13
528阅读
总线矩阵  上图为stm32f4的总线矩阵,其中主控总线有8条,被控总线有7条,主设备和从设备通过各自的总线两两相交连接,图中两条总线相交且为圆圈的地方,表示这两条总线对应的主设备可以访问从设备,如I总线(指令总线),只有跟 M0、M2和M6这三根被控总线交叉的时候才有圆圈,就表示I总线只能跟这三根被控总线通信,这样就可以知道stm32f4的启动有三种分别是FLASH、内部SRAM、外部存储FSM
stm32在freertos系统下使用串口DMA接收方式对接freemodbus-rtu协议栈 文章目录stm32在freertos系统下使用串口DMA接收方式对接freemodbus-rtu协议栈前言码农工程师,人狠话不多,大家多看图和代码!!!一、准备工作cubemx配置dma初始化的一个注意点二、拆解freemodbus1.porttimer.c文件不再使用(不使用定时器判断接收完成),接口
转载 2024-03-17 00:43:12
1176阅读
1点赞
1评论
本文讲述的是如何从零开始,使用keil建立一个简单的STM32的工程,并闪烁LED灯,给小白看。第零步,当然首先你得有一个STM32的板子,其IO口上接了一个LED。。。第一步,建立一个文件夹0.0第二步,打开keil,建立工程在弹出来的对话框中选择你所用的STM32的芯片。在接下来弹出来的对话框中选择是,这样keil就帮我们建立好了启动文件。 第三步,新建一个main.c文件,并添加到
转载 2023-06-19 15:27:24
969阅读
STM32:嵌入式开发的强大选择在嵌入式系统开发领域,STMicroelectronics推出的STM32系列微控制器凭借其出色的性能和丰富的功能,已成为工程师们的首选之一。作为基于ARM Cortex-M内核的32位微控制器,STM32系列提供了从入门级到高性能的完整产品线,满足各种应用场景的需求。强大的硬件特性STM32系列最显著的特点是它的多样性。从低功耗的STM32L系列到高性能的STM3
STM32 SPI协议简介STM32是ST公司推出的一款基于ARM Cortex-M内核的32位微控制器,具有高性能、低功耗、易扩展等特点。其中,SPI(Serial Peripheral Interface)是STM32中常用的通信协议之一。SPI协议概述SPI协议是一种同步的串行通信协议,由一个主设备和一个或多个从设备组成。主设备通过时钟信号控制数据传输,从设备在时钟信号的作用下接收或发送数据
原创 2023-06-19 18:12:17
869阅读
      STM32是指令和数据共用相同的地址空间,即程序存储器、数据存储器、寄存器和I/O端口在一个4GB的线性地址空间内。数据字节以小端格式存放在存储器中,一个字的最低地址字节被认为是该字的最低有效字节,而最高地址字节是最高有效字节。一、STM32存储器架构      4G的地址空间即地址编码的范围,编码就是对每一个程序存储、数据存
转载 2023-07-16 19:56:19
769阅读
1.引言本人购买了一个ESP8266的WiFi模块,想做一个物联网控制小灯的demo。 本文记录了基于机智云平台,移植代码,实现物联网小灯详细操作步骤。并不是移植步骤很麻烦, 只是文章真的写的极其详尽了 文章目录1.引言2.准备材料2.1硬件准备2.1.1.ESP8266模块2.1.2.单片机及杜邦线等2.2 外设接线说明2.2.1.ESP8266接线2.2.2.其他外设接线2.3.软件准备2.
转载 2024-05-08 11:48:55
1744阅读
如何理解ARM、STM32、51单片机,Intel之间的关系?  1、STM32是使用了ARM核的MCU; 2、其实除了STM32,ARM核的使用范围很广,TI与Freescale也有使用ARM核的MCU与SOC。我们通常把使用ARM核作为核心运算功能的片上系统叫做ARM芯片,于是对ARM芯片的开发,就是题主所说的ARM编程。 4、由于ARM芯片在使用上其实大同小异,同时STM32芯片推
转载 2023-06-04 21:48:52
343阅读
在各类通信中,常使用memcpy将接收到的字节数组(如:unsigned char buffer[100]),直接复制到结构体当中,无须解码,直接使用结构体中的变量就完事了。但,使用MDK5作为IDE, 对STM32芯片进行编程完成类似操作时,确并不如意。相关代码如下:// 如果有一些似曾相识的感觉,那应该是上一篇讲STM32用中断实现串口通信的文章 #include "usermain.h" #
转载 2024-05-07 22:01:01
1109阅读
背景在使用PyTorch深度学习框架的时候,不管是训练还是测试,代码中引入PyTorch的第一句总是: import torch 在Gemfield前述专栏文章里,我们已经得知,torch/csrc/stub.cpp链接libshm.so、libtorch_python.so、libcaffe2_gpu.so生成了_C.cpython-37m-x86_64-linux-gnu.s
韦东山 数码相框 项目学习(三)freetype的移植要把freetype移植到STM32MP157上,我们主要完成四步源码下载解压配置、编译对应文件复制到对应目录一、源码下载解压源码的下载可以进入去https://freetype.org/这个网址进行下载,本次移植我们使用的是2.4.10版本,然后将下载下来的压缩包上传到服务器。然后执行tar -jxvf freetype-2.4.10.tar
简介IAP(In Application Programming)即在应用编程, IAP 是用户自己的程序在运行过程中对User Flash 的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。通常实现 IAP 功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过某种通信方式(
转载 2024-05-03 13:40:25
176阅读
  • 1
  • 2
  • 3
  • 4
  • 5