草庐IT

STM32F1基于STM32CubeMX配置硬件SPI驱动1.8寸TFT LCD128X160 ST7735S屏幕

STM32F1基于STM32CubeMX配置硬件SPI驱动1.8寸TFTLCD128X160ST7735S屏幕📌相关篇《【STM32CubeIDE】STM32F103硬件SPI驱动1.8寸TFTLCD128X160ST7735S屏幕》✨驱动效果就不做演示了,和上面的相关篇一样,主要是为了方便使用MDKKeil开发的使用。所以花了点时间从上面的工程当中做了分离,重新使用STM32CubeMX配置一个方便二次开发移植使用和配置的工程。本资源仅仅配置了SPI2的只发送主机模式。🌿1.8寸TFTLCD128X160ST7735SSPI屏🌴工程架构📑引脚定义🔖采用的是硬件SPI2:MOSI(SDA):P

STM32在进行CAN总线多节点通信时,同时发数据会一直收不到某设备数据的问题及解决

CAN多设备通信收不到某设备数据的问题及解决遇到的问题问题的发现CAN总线的一般冲突机制STM32中的CAN冲突机制遇到的问题问题的发现最近在开发Canopen项目中,进行一主多从设备通信时,主站发送同步帧,两个从站往往只有帧ID优先级高的设备可以让主站接收到数据,而另一个从设备的数据往往接收不到。但当我关闭其中一个can从设备,另一个就可以和主站设备通信正常。经过排查发现,是由于Can的冲突解决机制的问题。在CAN多机通信中,两个设备同时发送数据,帧ID优先级高的CAN设备会“抢占”总线,而另外的设备需要选择冲突解决策略。CAN总线的一般冲突机制非破坏性抢占机制(Non-Destructiv

STM32超声波测距(OLED显示距离)

一、超声波简介超声波原理:利用声音测距,声音在空气中的速度是340m/s(15℃)当声音传播时,若遇到障碍物时,就会被反弹回来,通过计时反弹回来的时间就可以计算出从发射端到障碍物的距离引脚定义:工作电压:3V-5.5V宽电压供电测距盲区:2cm最小盲区接口定义如图序号接口定义说明1Vcc供电电源2Trig/Rx/SCLGPIO模式:   Trig  触发信号UART模式:  Rx     接收信号IIC模式:  SCL   时钟信号3Echo/Tx/SDAGPIO模式为   Echo  反馈信号UART模式:  Tx     发射信号ICC模式:  SCL   数据信号4Gnd地GPIO模式测

STM32 I2C通讯+MPU6050通讯演示

一.I2C通讯1.I2C通讯简介I2C(InterICBus)是由Philips公司开发的一种通用数据总线;两根通信线:SCL(SerialClock)、SDA(SerialData);同步,半双工,带数据应答;支持总线挂载多设备(一主多从、多主多从)2.硬件电路所有I2C设备的SCL连在一起,SDA连在一起;设备的SCL和SDA均要配置成开漏输出模式;SCL和SDA各添加一个上拉电阻,阻值一般为4.7KΩ左右3.I2C时序基本单元I2C总线处于空闲状态时,默认情况下SCL和SDA上拉电阻拉高高电平,SCL和SDA先均处于高电平状态;起始条件:SCL高电平期间,SDA从高电平切换到低电平;终止

windows - 无法找到适用于 32 位 Windows 的 hadoop 2.6.0 的 winutils.exe

我正在寻找适用于32位Windows的winutils.exe和适用于hadoop2.6.0版本的hadoop.dll。在第一次执行Mapreduce示例时,我得到了错误提示错误util.Shell:无法在hadoop二进制路径中找到winutils二进制文件所以我下载了一个版本并再次更新了bin文件夹,执行相同的命令我得到了类似这样的错误ERRORutil.Shell:Failedtolocatethewinutilsbinaryinthehadoopbinarypathjava.io.IOException:CouldnotlocateexecutableC:\hadoop-2.6

VS Code搭建STM32环境 (学习笔记)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、软件准备1.VSCode2.STM32CubeMX3.MDK二、VSCode下载插件1.EIDE2.Cortex_Debug三、创建项目1.创建EIDE项目2.创建STM32CubeMX项目四、配置1.添加项目资源2.添加芯片支持包3.接下来选择构建器或叫编译器4.设置工具链和安装实用工具(只需要一次以后不需要)5.烧录配置6.项目属性五、编译六、烧录或叫下载七、调试总结前言因为本人是行业新人之前学的是51,现在刚开始学32用不习惯STM32Cude的软件所以上网查了几个资料终于弄出了VSCode编写STM32。有

STM32CubeMX教程8 TIM 通用定时器 - 输出比较

1、准备材料开发板(STM32F407G-DISC1)ST-LINK/V2驱动STM32CubeMX软件(Version6.10.0)keilµVision5IDE(MDK-Arm)逻辑分析仪nanoDLA2、实验目标使用STM32CubeMX软件配置STM32F407通用定时器的输出比较通道,并将其输出到四个LED灯引脚实现LED灯流水灯效果3、实验流程3.0、前提知识STM32F407的定时器通道均可以实现输出比较功能,输出比较功能是利用当前计数值CNT与捕获/比较寄存器CRR的值作比较,如果值相等就会产生输出比较结果,此时也会产生输出比较完成中断或DMA请求定时器产生的输出比较结果可以输

STM32CubeMX教程8 TIM 通用定时器 - 输出比较

1、准备材料开发板(STM32F407G-DISC1)ST-LINK/V2驱动STM32CubeMX软件(Version6.10.0)keilµVision5IDE(MDK-Arm)逻辑分析仪nanoDLA2、实验目标使用STM32CubeMX软件配置STM32F407通用定时器的输出比较通道,并将其输出到四个LED灯引脚实现LED灯流水灯效果3、实验流程3.0、前提知识STM32F407的定时器通道均可以实现输出比较功能,输出比较功能是利用当前计数值CNT与捕获/比较寄存器CRR的值作比较,如果值相等就会产生输出比较结果,此时也会产生输出比较完成中断或DMA请求定时器产生的输出比较结果可以输

STM32的ADC介绍

1、ADC简介ADC即模拟数字转换器,英文详称Analog-to-digitalconverter,可以将外部的模拟信号转换为数字信号。STM32F103系列芯片拥有3个ADC(C8T6只有2个),这些ADC可以独立使用,其中ADC1和ADC2还可以组成双重模式(提高采样率)。 STM32的ADC是12位逐次逼近型的模拟数字转换器。它有18个通道,可测量16个外部和2个内部信号源,其中ADC3根据CPU引脚的不同其通道数也不同,一般有8个外部通道。ADC中的各个通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以以左对齐或者右对齐存储在16位数据寄存器中。2、ADC的重要名词介

MAX30102脉搏血氧仪和心率传感器(四)血氧+心率完整版(STM32)

文章目录前言一、先上测试结果1.测试步骤2.测试结果3.后续处理方法二、血氧饱和度1.原理2.计算方法三、源码获取(STM32例程)前言相较于上一章,增加和改进的地方有:①增加了血氧饱和度测量;②改进了心率的代码。即中断采集完一段数据后才“扔进“函数进行处理,期间处理器可以做其它事情,但算法原理与上一章基本相同;③减少了代码量,较为简洁高效。一、先上测试结果1.测试步骤手指接触到传感器,等待1-2s后串口输出信息;前2-3个数据是不稳定的数据,因为采集的是刚刚接触到传感器的数据(如下图红框部分),可以丢弃;输出的第3个数据以后是比较稳定的数据了;手指离开传感器以后,串口不再输出信息。再次接触传