草庐IT

STM32及GD32 - 可移植软件模拟I2C驱动实现(支持时钟延展,400KHz快速模式,宏接口注册驱动)

STM平台及GD平台-软件模拟I2C驱动实现一、需知二、背景三、代码实现3.1延时函数3.2时钟延展3.3枚举及结构体定义3.4对外接口四、使用示例4.1GD32F303RET6核心板4.1.1移植4.1.2使用4.1.3资源占用4.1.4通信波形4.2STM32F103C8T6核心板4.2.1使用4.2.2资源占用4.2.3通信波形五、驱动获取方式5.1百度网盘5.2GitHub(推荐)六、勘误6.1读取数据第一个bit的时钟延时不足够(已修复)一、需知本文不赘述I2C通信的协议栈和原理,默认阅读本文的读者已经知晓并会使用I2C通信本文的驱动以MCU为主机,且总线上只具有一个主机的场景进行实

【正点原子】STM32电机应用控制学习笔记——8.FOC简介

FOC是适用于无刷电机的,而像有刷电机,舵机,步进电机是不适用FOC的。FOC是电机应用控制难度最大的部分了。一.FOC简介(了解)1.介绍FOC(FiledOrientedControl)即磁场定向控制,又称磁场矢量控制(VC,VectorControl),也就是控制磁场的方向以及大小。无刷电机的无感控制是六步换向,设定初始电流方向为u进入v流出,此时合成的磁场矢量方向是斜向下的,也就是吸引转子转动到这个位置,所以控制磁场也就是控制电机的转子。FOC也是控制磁场,但是两者是有区别的。FOC有一个很明显的特点是精确,它可以非常精确的控制磁场的大小和方向,它可以使电机运转的转矩非常的平稳,噪声小

MKD(Keil5)安装及环境配置—兼容C51和stm32

1概述C51单片机程序开发和编译环境通常是在keil3、keil4,而学习stm32后开发编译环境更多的是使用keil5也就是MDK;使用两个软件比较繁琐、臃肿,那么如何只安装一个keil,就可以同时开发编译C51和stm32成为了值得考虑的问题。2软件下载及安装步骤2.1MDK和C51软件下载步骤1:进入keil官方网站https://www.keil.com/,然后按照下图所示步骤,下载MDK-Arm和C51;步骤2:下载之前需要填写个人信息(如下图所示),信息没有准确性验证,可以随便填,然后Submit提交。步骤3:点击此处下载最新版本MDK。C51下载同理。2.2软件安装先安装MDK,

STM32---蓝牙模块ECB02(从机模式_与手机通信)

目录1、ECB02 重点 参数2、引脚说明3、AT指令使用重点 4、使用USB转TTL模块测试5、STM32开发板的接线6、STM32通信代码7、手机小程序 连接ECB021、ECB02 重点 参数蓝牙协议: 5.2主从模式:主、从一体,可设置睡眠模式:芯片支持(不同的模块,需要有SLEEP或EN引脚才支持)工作电压:3.3V(有部分模块型号带LDO支持5V)串口通信:AT指令、115200-NULL-8-1、连接后透传通信距离:室内实测10米内,能隔一堵墙; 空旷几十米工作电流:大约5mA支持平台:Win10及以上、iPhone4S以上, Android4.4以上,微信小程序、支付宝小程序每

STM32CubeMX教程30 USB_DEVICE - MSC外设_读卡器

1、准备材料正点原子stm32f407探索者开发板V2.4STM32CubeMX软件(Version6.10.0)keilµVision5IDE(MDK-Arm)ST-LINK/V2驱动野火DAP仿真器XCOMV2.6串口助手2、实验目标使用STM32CubeMX软件配置STM32F407开发板USB_OTG_FS为工作在MassStorageClass(大容量存储类)模式下的USB_DEVICE(USB从机),使其作为SD卡读卡器在Windows系统文件资源管理器中直接对SD卡进行读写操作3、实验流程3.0、前提知识关于USB的相关知识请读者阅读STM32CubeMX教程29USB_HOST

STM32的8种工作模式:各自被赋值为0x00,0x04,0x28等的原因及端口速度

如有错误,还请包涵与指出,“我在网上读研究生”为本人之前的账号,已注销。目录1.keil中的GIPO端口配置值与对应寄存器端口配置值 2.调试LED流水灯代码        ​​​​​​​2.1 GPIO_Pin=0x0020,Speed=0x03,Mode=0x10原因3.程序变量最终执行结果1.keil中的GIPO端口配置值与对应寄存器端口配置值        在配置端口模式时,突然想到为什么stm32f10x_gpio.h文件中配置端口的模式值等于图1这些值,这些值与寄存器上介绍的值又感觉不一样,为什么这8种模式就等于对应的这些值。//8种输出模式typedefenum{GPIO_Mod

使用 STM32 读取和解析 NTC 热敏电阻的数值

本文介绍了如何利用STM32微控制器读取和解析NTC(NegativeTemperatureCoefficient)热敏电阻的数值。首先,我们将简要介绍NTC热敏电阻的原理和特性。接下来,我们将详细讨论如何设计电路连接和采用合适的STM32外设进行数值读取。然后,我们将介绍如何进行温度解析和校准。最后,我们提供一个简单的示例代码,帮助您快速开始。1.简介NTC热敏电阻是一种温度敏感的电阻,其电阻值随温度的变化而变化。利用STM32微控制器可以读取和解析NTC热敏电阻的数值,从而获取环境温度信息。2.NTC热敏电阻的连接和电路设计将NTC热敏电阻连接至STM32微控制器的模拟输入通道,形成一个电

stm32产品架构

文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言起因是我在看野火的ucosiii,然后他是基于i.mx芯片。然后我就很疑惑i.mx是什么芯片,看了下好像是ARM-M7(或者叫ARMCM7)架构的芯片。然后我又疑惑ARM-M7又是什么架构。然后看到知乎一篇文章这样写:ARM架构:由英国ARM公司设计的一系列32位的RISC微处理器架构总称,现有ARMv1~ARMv8种类。ARM7:一类采用ARMv3或ARMv4架构的,使用冯诺依曼结构的内核。ARM9:一类采用ARMv4或ARMv5架构的,使用哈佛结构的内核。CortexM3:采用了ARMv7架构的,使用哈佛结构的内

STM32+ESP8266+OneNet共同完成温度显示功能

STM32F103+ESP8266+OneNet温度显示这次实验对应的是我的本科毕业设计,目标是完成一个温度测试平台,具有本地显示,远程显示,算法后台校正的功能。为了适应当前信息化的物联网发展方向,本文选择一款分辨率可调的高线性度CMOS温度传感器作为感温芯片,运用STM32F103C8T6作为微控制器主控芯片,使用WiFi传输作为无线传输方案,结合OLED显示,以及中国移动的OneNET平台,共同设计了一个温度传感器的应用平台,并在立创投板PCB完成实物。在考虑功能的同时,也对性能有更高的要求。综合对比单点校正,两点校正,线性神经网络,复合线性神经网络和径向基函数神经网络校正算法,最后选择基

STM32 CAN总线过滤器设置

CAN-关于CAN过滤器的一些设置方法                                                   CAN过滤器配置以及常见问题总结过滤器组在具有两个CAN的产品中,CAN1和CAN2分享28个过滤器组,只有一个CAN的系列产品中有14个过滤器组,用以对接收到的帧进行过滤。•设置为掩码模式主要是为了过滤出一组(多个)符合要求的ID;•设置为列表模式主要是为了过滤出一个或多个符合要求的ID;•设置16位过滤器只能用来过滤标准帧ID;•设置32位过滤器一般用来过滤扩展帧ID(当然也可以过滤标准帧);一个过滤器组是由两个32位寄存器组成,可以将其配置为:•四个