草庐IT

STM32--DHT11温湿度传感器

本文介绍基于STM32F103实现的DHT11温湿度传感器数据采集及显示,完整代码见文末链接一、DHT11传感器简介DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集

vscode开发stm32的编译环境配置教程

文章目录1.背景2.配置步骤2.1.vscode插件安装2.2.新建工程2.3.配置编译环境2.3.1.芯片支持2.3.2.编译器选择2.3.3.CPU类型2.3.4.硬件浮点选项2.3.5.使用自定义的链接脚本2.3.6.RAM/FLASH布局2.3.7.构建器选项2.4.编译3.问题汇总3.1.浮点编译开关3.2.MicroLIB编译参考:1.背景想在vscode中开发STM32,本文主要描述如何实现,以及实现过程中遇到的问题及解决方法。主要参考【1

野火STM32电机系列(五)Cubemx配置高级定时器TIM1

鸽了一段时间,放心不会断的哈,目前仅仅是显示屏坏了,不影响后面项目前文已经配置了GPIO、编码器本节讲解CubeMX高级定时器TIM1配置带死区的6路互补的PWM同时配置信号触发后续ADC采集板子引角的原理图如下对应的:Motor1--U+--PA8--TIM1_CH1Motor1--U---PB13--TIM1_CH1NMotor1--V+--PA9--TIM1_CH1Motor1--V---PB14--TIM1_CH1NMotor1--W+--PA10--TIM1_CH1Motor1--W---PB15--TIM1_CH1N接着配置具体参数如下:由于pwm控制频率为10K,芯片的时钟周期为

STM32 主从蓝牙模块配置

前言:        最近在调试小车的时候,突然想要用两个蓝牙进行单片机和电脑的交互,之前一直用的都是从机的蓝牙。这里因为需要双机通信,所以也就顺便查询了一些资料,了解一下主从蓝牙模块的使用,以及双机通信的一些使用。话不多说,开始。 AT指令        蓝牙模块需要通过AT指令进行模式与连接的设置,不同型号的蓝牙模块它的AT指令也可能会有差别,如果发现发送指令后模块没有回应,检查一下AT指令是否发送正确,是否进入命令模式,这里就要查看自己手中的两个蓝牙模块的资料包了,若两个蓝牙模块不同,则它们的配置指令也可能会不相同,就要用对应的指令配置了。AT指令集这里就不列举了,自行查看资料包。硬件 

STM32CubeIDE实现Bootloader

一、简介1.1、开发环境STM32CubeIDE软件版本:V1.9.0。单片机型号:STM32F103ZETx。1.2、主要内容使用STM32CubeIDE实现Bootloader跳转到APP程序。需分别建立Bootloader和APP两个工程。二、Bootloader工程Bootloader的CubeMX无需设置,直接生成程序。2.1、Bootloader跳转程序Bootloader跳转程序,主要是利用函数指针,让程序跳转到指定的应用程序地址。以下3种方案殊途同归,选择其一即可。方案1:用typedef定义跳转函数指针的别名。typedefvoid(*p_APP)(void);/**功能:运

四轮两驱小车(一):STM32驱动AS4950

目录         前言:效果展示:车体展示:前言:    在前两周的时间里,我对上个版本的小车进行了一个更新换代,将原本的4驱小车换成了4轮两驱小车,舍弃了树莓派4B作为上位机。新版小车采用两个520直流减速电机搭配AS4950电机芯片来差速行进,后面采用两个万向轮带着,5路灰度传感器循迹,用HC_SR04超声波模块中断式测距,用HC_08蓝牙模块与手机进行通信,同时搭载MPU6050模块来拐直角弯。效果展示:新版小车功能效果展示车体展示:  正文开始:    本次改进依旧沿用上次制作的电路板,板载了AS4950电机芯片,在这款电机芯片的帮助下,我甚至连死区时间都不用配置,AS4950自行

m基于FPGA的FOC控制器verilog实现,包括CLARK,PARK,PID及SVPWM,含testbench

目录1.算法仿真效果2.算法涉及理论知识概要3.MATLAB核心程序4.完整算法代码文件1.算法仿真效果QuartusII12.1(64-Bit)ModelSim-Altera6.6d StarterEdition仿真结果如下:2.算法涉及理论知识概要整个系统的结构如下所示:1、采集到两相电流2、经过clarke变换后得到两轴正交电流量,3、经过旋转变换后得到正交的电流量Id、Iq,其中Iq与转矩有关,Id与磁通有关。在实际控制中,常将Id置为0。得到的这两个量不是时变的,因此可以单独的对这两个量进行控制,类似直流量控制一样。而不需要知道具体要给电机三相具体的电压为多少。4、将第3步中得到的I

STM32103-OLED不显示的原因

硬件平台:    轮趣科技F103C8T6核心板问题描述:    在复现平衡小车的过程中,尝试读取编码器数据并在OLED上显示;调用OLED的API函数后发现无论如何都不显示。问题解决:    仔细翻看,对比官方源码后,添加如下函数代码后成功显示。在mian函数初始化部分添加: JTAG_Set(JTAG_SWD_DISABLE); JTAG_Set(SWD_ENABLE);对应的宏定义:#defineJTAG_SWD_DISABLE0X02#defineSWD_ENABLE0X01#defineJTAG_SWD_ENABLE0X00 对应的函数内容:voidJTAG_Set(u8mode){

STM32F407VET6使用SPI访问Flash数据返回0xff(先写入数据,再读取数据,却返回0xff,但是通过debug却可以正常输出)

STM32F407VET6使用SPI访问Flash数据返回0xff(先写入数据,再读取数据,却返回0xff,但是通过debug却可以正常输出)看了野火的STM32F103VET6板子的SPI操作Flash的视频,用了自己的STM32F407VET6板子试了一下,出现了点问题,在网上看了很久也没有找出原因,现在问题解决了,就写一篇,如果大家有这种用F4的板子操作的情况,可以参考一下。出现题目括号中所说的问题,我开始以为是我读取的太快导致数据还有写入进去,就读取了,所以导致读到的数据都是未初始化的flash地址数据0xff。后来加了延时函数也是不行,但是通过debug模式却可以正常读取到写入的数据

stm32cubemx配置mpu6050——10分钟0基础到灵活使用

stm32cubemx配置mpu6050——10分钟0基础到灵活使用10分钟速通!你没看错,就是10min,从0基础到灵活运用mpu6050。不信?往下看看就会:嗷~原来如此第一步下载github开源代码。https://github.com/leech001/MPU6050首先声明,此代码不是本人所写,为某俄罗斯大佬提供。如果你访问不了github不用担心,我在文章最后附上下载下来的文件第二步软件根据github开源项目的Readme内容,进行工程配置:开启i2c将下载下来的.c和.h文件加入到工程内。(有运用mpu6050需求的同学,应该这部都会知道怎么做吧?在需要调用mpu6050接口的