030f gpio stm

STM32驱动 有刷电机 位置,速度,电流,三环控制

PID算法: 位置式PID: 离散化位置式PID: 增量式PID: 增量式和位置式PID程序: int32_t Increment_PID_Control(PID_TypeDef *PID,float Feedback_value) { PID->Error = (float)(PID->SetPo ......
电流 电机 速度 位置 STM

关于32位MCU GPIO八种工作模式配置

参考链接:https://mp.weixin.qq.com/s/vgYzCcxmsfn7BGWERHfITQ 通常,32位MCU的GPIO有多种配置方式,如STM32、CH32 MCU的GPIO引脚都有八种配置方式,总体可分为两类:输入和输出。其中: 输入可分为: 浮空输入 上拉输入 下拉输入 模拟 ......
模式 GPIO MCU

STM32在上面运行Java虚拟机确实惊人

STM32在上面运行Java虚拟机确实惊人,但实现了这一点的是特殊优化的Java虚拟机版本,如MicroEJ或JamaicaVM等,它们都是专门为嵌入式系统设计的。 这种Java虚拟机的大小能够做到如此之小(上到几十KB)主要是因为以下全面策略: 功能适配:不同于标准的Java虚拟机,这些虚拟机只包 ......
Java STM 32

STM32DMA FIFO理解

1.节拍的意思是MSIZE大小的 原目标数据一次传输到FIFO的大小,突发的意思是传到目标地址的过程 ......
FIFO STM DMA 32

STM32F103C8T6移植FreeRTOS过程记录

一、创建基于官方库的裸机工程(这教程很多,每个人创建的工程风格也不一样,就不多赘述了) 二、下载FreeRTOS开源代码(FreeRTOS - Market leading RTOS (Real Time Operating System) for embedded systems with Int ......
FreeRTOS 过程 103C F103 STM

关于STM32F407ZGT6的USB损坏后使用ST-Link和USART1实现串口功能

开发板:STM32F407ZGT6; 目标:想使用软件“串口调试助手” 情况:开发板上的USB_UART口所在器件损坏或者直接没有; 解决办法:查看该开发板的原理图,可得:串口1的RX接TXD,串口1的TX接RXD,那么按如下步骤操作:1、现在使用USB转TTL模块,将串口1的RX接USB转TTL模 ......
串口 ST-Link 功能 USART1 USART

文件stm32f4xx.h 解析

本文简短不看版:这个是头文件的头文件 这个文件是个头文件,它又包含了两个头文件(通过在 Keil 魔法棒工具定义两个宏 STM32F407xx 和 USE_HAL_DRIVER 开关) #include "stm32f407.h" //某一特定F4型号芯片寄存器定义 #include "stm32f ......
文件 f4xx stm 4xx 32

stm32单片机在Keil环境下定义的变量都存储到哪去了?(以STM32f1系列为例)

stm32f1系列单片机,在keil5环境下编译后显示四个储存区域,分别是 Code, RO-data,RW-data,ZI-data Code为程序代码部分RO-data 表示 程序定义的常量constRW-data 表示 已初始化的全局变量ZI-data 表示 未初始化的全局变量 储存区域如下: ......
单片机 变量 环境 32 Keil

stm32_1_开发环境配置

20年参加ROBOMASTER,学习到stm32。21年大学毕业,参加土木类工作,把之前学到的全都丢弃了。最后还是靠stm32找到了工作。感谢这门技术,把这几年学到的东西做个总结。初学者还是建议看正点原子,野火视频教材。 正点原子:http://47.111.11.73/docs/index.htm ......
环境 stm 32

STM32采集风速仪+ESP8266显示OLED+阿里云上报

ESP代码 #include <ESP8266WiFi.h> static WiFiClient espClient; #include <ArduinoJson.h> #include <AliyunIoTSDK.h> AliyunIoTSDK iot; #define PRODUCT_KEY " ......
风速仪 风速 8266 OLED STM

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

/sys/class/gpio/连续读取gpio引脚电平有问题的原因

一、通过shell命令读取引脚电平值 /sys/class/gpio/目录下的内容 可以向export写入相应引脚输出来导出gpio, 例如 echo 66 > export 进入gpio66下,读取value的值即为gpio输入的值(默认为输入) 二、通过C程序读取引脚电平值 程序: int ma ......
电平 gpio 原因 问题 class

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

普冉PY32系列(九) GPIO模拟和硬件SPI方式驱动无线收发芯片XL2400

前面介绍了 XN297LBW, 顺带再介绍一个非常类似的型号 XL2400, 生产商是深圳芯岭技术, 同时市面上还有一个 WL2400, 从数据手册看和 XL2400 是一模一样的. XL2400 和XN297LBW 一样都是 SOP8 封装的2.4GHz频段无线收发芯片, 但是零售价格更便宜, 在... ......
芯片 无线 方式 硬件 2400

STM32之CAN通信

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

普冉PY32系列(八) GPIO模拟和硬件SPI方式驱动无线收发芯片XN297LBW

XN297LBW 是一个SOP8封装的2.4GHz频段无线收发芯片, 价格在1元左右, 因为面向的主要是低成本应用, 大多数搭配的MCU为廉价的8位8051, 不一定有硬件SPI, 为了保证兼容在SDK中使用的都是GPIO模拟SPI方式进行驱动. 但是实际上是可以通过硬件SPI方式进行驱动的. 本文... ......
芯片 无线 方式 硬件 GPIO

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