cubemx 3231 stm i2c

2. STM32 HAL库结构的初步分析

1. 以串口为例,添加串口的HAL库源码 我们使用的是异步通信的方式,因此将stm32f1xx_hal_uart.c添加进来。在本次学习中,串口我们使用3种方式去学习,轮询、中断、DMA方式。因此,我们也将DMA的HAL库源码添加进来。 ......
结构 STM HAL 32

ardunio-stm32采集风速传感器

波特率都是4800 设备地址 默认01 广播FF #define mySerial Serial2 byte Msg_getdata[8]={0x01,0x03,0x00,0x00,0x00,0x02,0xC4,0x0B}; char RecData[9]={0}; // 校验 uint16_t m ......
风速 传感器 ardunio-stm ardunio stm

STM32 EEPROM_Emulation 保存数据使用注意事项

1 目的: stm32 官方提供flash模拟eeprom的代码例子,为了能给产品添加数据保存功能,可以改造该例子迅速完成数据保存的功能。示例代码路径: C:\Users\rd-yhzhang\STM32Cube\Repository\STM32Cube_FW_F1_V1.8.5\Projects\ ......

STM32单片机实现Bootloader跳转的关键步骤(转载)

STM32单片机实现Bootloader跳转的关键步骤 - 知乎 (zhihu.com) STM32单片机实现Bootloader跳转的关键步骤 (qq.com) 现在越来越多的嵌入式设备支持远程自动升级,不需要再借助下载器。这样对于设备的维护非常方便。 当然若使设备支持远程升级,需要编写支持升级的 ......
单片机 Bootloader 步骤 关键 STM

怎样查找STM32的硬件错误HardFault_Handler

1.在硬件中断函数HardFault_Handler里的while(1)处打调试断点,程序执行到断点处。 2.在Keil菜单栏点击“View”->“Call Stack Window”弹出“Call Stack + Locals”对话框。然后在对话框中右键选择“Show Caller Code”,就 ......

STM32 + ESP32(AT固件 MQTT协议) + MQTTX(桌面终端) + (EMQX消息服务器)

翻出老物件,搭建一个简单的 IOT 开发环境,也算是废物利用了 ,接下来加传感器。1. STM32 采集数据: RTOS。 资源相对比较丰富,可以根据项目需求定制。2. ESP32 网络传输(AT固件 MQTT协议) : AT:封装好的接口,扩展性不是那么好,业务简单的话将就可以用。 SDK:接口比 ......
固件 终端 桌面 消息 服务器

VSCode 调试 STM32 无法识别一些标识符

1 无法识别 uint32_t 在 c_cpp_properties.json 的 defines 下添加 __CC_ARM 和 __IO : 2 无法识别 GPIO 等 STM32 定义 defines 其实就是 MDK 工程里的 ......
标识符 标识 VSCode STM 32

STM32——GPIO输出

一、结构 二、8种模式 三、对推挽输出、开漏输出的理解 1、推挽输出: 推:将电流推出去 挽:将电流挽回来 上图的前两种情况组合,就是推挽输出模式。 情况1时即“推”,情况2时即“挽”。 2、开漏输出: 漏:漏极啥也没接。情况2与3组合构成开漏模式。(常配一个外接上拉电阻) 功能1:改变高电平的电压 ......
GPIO STM 32

关于STM32 HAL库版本IAP升级跳转一直进入HAL_Delay()函数;只需要在升级 程序中加入如下代码;主要动作就是关闭中断

__set_FAULTMASK(1); /* set vector table/ SCB->VTOR = FLASH_BASE | 0x1F800; // / USER CODE END 1 */ /* MCU Configuration / / Reset of all peripherals, ......
函数 HAL HAL_Delay 动作 版本

STM32库函数点灯

第一步:时钟使能 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); 第二步:端口配置(GPIO) GPIO_InitTypeDef GPIO_InitStruct; //定义一个结构体,其成员用于GPIOC的信息配置 GPIO_InitStru ......
函数 STM 32

FPGA, arduino, STM32, RaspBerry 树莓派 简介

https://www.cnblogs.com/zhenghb31/p/15046496.html 市面上控制器这么多,似乎每一个都很厉害…为什么有的控制器编写起来那么难,功能很少,有的简单易学,功能强大呢?各种控制器又有什么区别呢?经过我的思考,我个人把控制器分为三类! 第一类: 基于逻辑电路的控 ......
树莓 RaspBerry arduino 简介 FPGA

Clion+STM32配置环境

Clion+STM32配置环境 下载安装 下载Clion,具体步骤省略 https://www.jetbrains.com/clion/download/ Clion官方的教程网址如下 https://www.jetbrains.com/help/clion/embedded-development ......
环境 Clion STM 32

STM32F103 HAL库功能模块

以下模块仅做学习参考使用,实际使用需要根据HAL库具体模块功能配置,功能以参考手册为准; GPIO 中断 串口 看门狗 定时器 ......
功能模块 模块 功能 F103 STM

C语言数据类型占用字节大小+rand_mode/randomize_mode/static constraint+I2C和SPI的选中方式

C语言数据类型占用字节大小 https://blog.csdn.net/sinan1995/article/details/79577106 对于整形,最大8字节,超出8字节的计算,要么用库,要么不用。 64位编译器: char/unsigned char :1字节 char *:8字节 short ......

STM32之CAN通信

CAN(Controller Area Network),是ISO国际标准化的串行通信协议,CAN总线协议已广泛应用在汽车电子、工业自动化、船舶、医疗设备、工业设备等方面 ......
STM CAN 32

STM32 RTC模块的使用

1 STM32 实时时钟RTC原理: A 外部晶振采用32.768KHz的原因,因为2的15次方2^15=32768, 所以32.768KHz分频15次后刚好是1Hz,1S就是1Hz。 B RTC模块有一个实时计数器Real Time Counter,它对震荡源脉冲计数,每个脉冲计数器加1,所以不能 ......
模块 STM RTC 32

STM32 硬件CRC的使用

1 代码: crc_lib.h /* Define to prevent recursive inclusion */ #ifndef __crc_lib_H #define __crc_lib_H #ifdef __cplusplus extern "C" { #endif /* Includes ......
硬件 STM CRC 32

使用FMC连接SDRAM扩展STM32内存

1.引脚初始化 BSP_SDRAM_GPIO_Init void BSP_SDRAM_GPIO_Init(void) { RCC_AHB1PeriphClockCmd(FMC_A0_GPIO_CLK, ENABLE); RCC_AHB1PeriphClockCmd(FMC_A1_GPIO_CLK, ......
内存 SDRAM FMC STM 32

STM32---I2C通讯

STM32的I2C通讯可以使用两种方式实现,分别是软件I2C,和硬件I2C。软件I2C主要是通过代码手动翻转电平来模拟时序;硬件I2C主要使用通过STM32自带的硬件外设实现。以下,我着重讲述一下硬件I2C的部分。 想要使用硬件I2C,主要分为以下四个步骤: 第一步,开启GPIO和I2C的时钟 跟G ......
通讯 STM I2C 32 2C

STM32关闭全局中断时需要注意的问题

STM32在使用时有时需要禁用全局中断,比如MCU在升级过程中需禁用外部中断,防止升级过程中外部中断触发导致升级失败。ARM MDK中提供了如下两个接口来禁用和开启总中断:__disable_irq(); // 关闭总中断__enable_irq(); // 开启总中断 但测试发现这样一个问题,在关 ......
全局 问题 STM 32

STM32F030F4P6 GPIO 配置输出点亮Led

代码实现: #define LED1_Pin GPIO_PIN_4#define LED1_GPIO_Port GPIOA while (1) { /* USER CODE END WHILE */ HAL_GPIO_TogglePin(GPIOA, LED1_Pin); HAL_Delay(100 ......
030F F030 GPIO STM 030

STM32之使用MQTT连接阿里云物联网平台

MQTT(Message Queuing Telemetry Transport)是一种轻量级、基于发布-订阅模式的消息传输协议,适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境。它在物联网应用中广受欢迎,能够实现传感器、执行器和其它设备之间的高效通信。 ......
平台 MQTT STM 32

十九、STM32移植FreeRTOS操作系统

1.环境安装 下载FreeRTOS源码 2.移植 2.1 在STM32项目下创建freertos文件夹,然后在文件夹下创建inc、src、port文件夹 2.2 将FreeRTOS源码目录下的FreeRTOS/Source/include文件夹下的.h头文件全部复制到STM32项目的freertos ......
FreeRTOS 系统 STM 32

STM32之SPI通信

SPI通信 学习资料: 江科大-STM32入门教程 SPI简介 SPI(Serial Peripheral Interface)是由Motorola公司开发的一种通用数据总线,SPI本质是移位寄存器 spi有很多种类: 两线,只有时钟线,数据线双向复用 三线,含使能脚,时钟脚,双向数据脚 四线,SC ......
STM SPI 32

STM32之WIFI通信(ESP8266 ESP-01S)

STM32之WIFI通信(ESP8266 ESP-01S) 前言 本文:使用的是 STM32F103C8T6 + ESP-01S模块 通过采用串口的通信方式 来实现 WIFI功能 ESP8266的介绍 ESP8266指的是乐鑫推出的ESP8266EX芯片,用ESP8266EX芯片和FLASH芯片等封 ......
ESP 8266 WIFI STM 32

stm32f103-2023-10-03

这是当时在“某知道”上自己的一篇原创回答,由于某些原因目前个人后台上的所有回答或隐藏或清空了,现经删整之后收纳回本人博客。 问题链接:https://zhidao.baidu.com/question/1604602410308497067.html 我猜,来到这个问题底下的我们,疑问估计都是相同的 ......
2023 stm 103 32 10

STM32之I2C通信

I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。 ......
STM I2C 32 2C I2

STM32 控制一盏灯的亮灭

#include "stm32f10x.h" // Device header int main(void){ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); GPIO_InitTypeDef GPIO_InitStructure; GPIO ......
STM 32

操作STM32的GPIO的步骤

1.使用RCC开启GPIO的时钟 2.使用GPIO_Init函数初始化GPIO 3.使用输入/输出控制GPIO口 RCC 在library 组中的 stm32f10x_rcc.h中找: (第一个参数是选择哪个外设,第二个参数是EABLE 或者DISABLE) void RCC_AHBPeriphCl ......
步骤 GPIO STM 32

STM32CubeMX 生成的 Makefile 文件解析

STM32CubeMX 生成的 Makefile 文件解析 Makefile 的前置知识 一个 makefile 是由一系列的规则 (rule) 组成的。一条完整的规则包括目标 (target) 、依赖 (prerequistites) 、方法 (recipe) : target ... : pre ......
Makefile 文件 CubeMX STM 32