草庐IT

基于树莓派4B与STM32的UART串口通信实验(代码开源)

前言:本文为手把手教学树莓派4B与STM32的UART通讯,本次项目采用树莓派4B与 STM32 进行串口通讯,将彼此的数据进行互相传输。本篇博客同时提供了基于YOLOv5-Lite的目标检测数据联动,即将树莓派4B检测到的信息发送至STM32,后续可以通过这些信息进行各种需求上的控制。树莓派4B与STM32的联动是很常见的嵌入式架构体系,通常树莓派4B负责计算量大的任务(例如:目标检测,激光雷达等),STM32则负责进行控制任务,该架构也是目前主流的智能硬件处理框架!(文末有代码开源!)硬件实物图:效果图:一、树莓派4B串口1.1树莓派4B的Pin树莓派4B的引脚图:树莓派4B作为一款小型电

【ARM Coresight 系列文章 10.1 - ARM Coresight STM 介绍及使用】

文章目录GuaranteedandinvarianttimingtransactionsMultipleSTPv2mastersupport上篇文章:ARMCoresight系列文章10-ARMCoresightSTM介绍及使用下篇文章:ARMCoresight系列文章10.2-ARMCoresightSTMTracepacketsGuaranteedandinvarianttimingtransactionsSTM支持两种类型的软件的数据,一种是guaranteed的,另一种是invariant的,对于guaranteed类型的数据传输,当STM无法接收AXI总线发过来的数据时,会通过拉低W

STM32F4使用高级定时器(TIM1和TIM8)输出PWM问题

STM32F4使用高级定时器(TIM1和TIM8)输出PWM时要使用TIM_CtrlPWMOutputs使能PWM输出,否则不会输出PWM波形,这一点是和通用定时器输出PWM不一样的地方,通用定时器是不用配置TIM_CtrlPWMOutputs函数的。、//TIM1_PWM_Init(100-1,168-1);//168M/168=1Mhz的计数频率,重装载值100,所以PWM频率为1M/100=10Khz.voidTIM1_PWM_Init(u32arr,u32psc){//此部分需手动修改IO口设置GPIO_InitTypeDefGPIO_InitStructure;TIM_TimeBas

STM32F103实现激光测距传感器测距WT-VL53L0 L1

目录本博客将采用标准库和HAL库实现所用设备选择引脚说明与单片机的接线表标准库实现 HAL库实现本博客将采用标准库和HAL库实现所用设备选择单片机型号:STM32F103C8T6 激光测距传感器型号:WT-VL53L0L1 采用串口TTL电平输出,可以接USB-TTL串口到电脑,或者直接接MCU的串口,实时输出距离数据(ASCII码)。该模块可以直接接收串口数据。本博文任务是将数据提取出来,以便其它模块使用。引脚说明模块的引脚说明:序号激光测距模块引脚颜色1VCC红色2RXD绿色3TXD黄色4SCL-5SDA-6GND黑色与单片机的接线表序号激光测距模块引脚颜色单片机STM321VCC红色VC

STM32的复位与复位流程

对于典型的Cortex-M微控制器,复位类型共有三种:上电复位。复位微控制器钟的所有部分,其中包括处理器、调试支持部件和外设等。系统复位。只会复位处理器和外设,不包括处理器的调试支持部件处理器复位。只复位处理器。        在系统调试或处理器复位操作过程中,Cortex-M3或Cortex-M4处理器中的调试部件不会复位,这样可以保持调试主机(如运行在计算机上的调试器软件)和微控制器间的连接。调试主机可以通过系统控制块(SCB)中的寄存器产生系统复位或处理器复位。注意:上面讲的复位类型只是一个宽泛的概念,在具体的微控制器平台上的实现和名称都不相同,具体仍需参考对应微控制器的参考手册。   

手把手教你电机FOC控制【一】

手把手教你电机FOC控制【一】文章作者:范子琦文章链接:https://www.robotsfan.com/posts/d99d1c1a.html版权声明:本博客所有文章除特别声明外,均采用CCBY-NC-SA4.0许可协议。转载请注明来自范子琦的博客!FOC框架引入三向电机,分别为UVW三向,角度互差120度。若使用BLDC控制方法,如下图每次换向增加60度,转子只能到达六个位置,所以六步换向时会有振动。使用FOC控制方法可以使转子到达任意角度,所以运行起来会更加平滑。如果想到达40度的位置,只需要在0度方向通电一段时间,在60度方向通电一段时间,再在空矢量的状态下通电一段时间(全桥000或

STM32f103增加ESP8266模块,通过Wifi用手机TCP服务端远程与STM32通信

STM32f103增加ESP8266模块,通过Wifi用手机TCP服务端远程与STM32通信提示:esp8266开启透传模式,连上路由器Wifi(电脑热点),接入STM32串口引脚。另外手机TCP服务端是手机IP地址+串口号(大于8000滴)文章目录STM32f103增加ESP8266模块,通过Wifi用手机TCP服务端远程与STM32通信前言一、硬件1.硬件部件2.接线二、代码实现过程1.电脑串口调试ESP82662.初次实验在STM32写好程序3.串口接收来自8266的数据(串口中断服务)4.主函数心得前言最近对ESP8266模块进行小了解,知道只要对8266通过串口发送AT指令进行配置其

STM32单片机三线制PT100温度采集控制系统LCD12864显示器

实践制作DIY-GC0096-三线制PT100温度采集控制系统一、功能说明:基于STM32单片机设计-三线制PT100温度采集控制系统功能介绍:STM32F103C系列最小系统班+PT100温度传感器+LCD12864显示器+恒流源电路+继电器模拟加热和制冷+按键设定上限和下限+蜂鸣器1.12mA恒流源电路给PT100供电。STM32使用内部自带ADC测量PT100电压。2.根据电压计算出PT100的电阻,然后计算出PT100的温度。3.温度低于设定下限,继电器加热。温度高于上限继电器制冷。蜂鸣器报警。4.温度在下限和上限之间,不加热不制冷蜂鸣器不报警。三、详情介绍:视频讲解:哔哩哔哩搜索UP

STM32单片机Flash不擦除直写案例分析

项目场景:产品跳闸前需保存致使产品动作的故障类型和具体的故障分析数据,并在产品二次上电后读取故障类型,进行相应指示;之后清除故障类型的相关Flash,但故障分析数据仍保存,以便后续读出分析。然而,Flash扇区擦除时间较长,会影响程序正常运行、判断。问题描述Flash的编程原理都是只能将1写为0,而不能将0写为1,所以在进行Flash编程之前,必须将对应的块擦除,而擦除的过程就是把所有位都写为1的过程,块内的所有字节变为0xFF。STM32内部Flash和外部Flash芯片类似,都是以页(或块)为最小擦除单元。因此,要擦除Flash数据,就是需要最小单元(1K/2K不等)。下图为STM32L4

stm32实现按键控制

目录一、实现原理:1.1按键控制电路分析二、程序部分:一、实现原理:1.1按键控制电路分析  可以看见电路上key_up按键连接3.3v,K1、K2、K3下拉接地。按键检测的时候需要配置输入模式。key_up配置下拉输入:在默认状态下,读取的GPIO引脚为低电平,按键按下时,输入变为高电平。K1、K2、K3配置上拉输入:在默认状态下,读取的GPIO引脚为高电平,当按键按下的时候,相应管脚变为低电平。 1.2 按键检测分析  按键在按下的时候并不是立马会得到稳定的低电平,如下图所示存在一个前沿抖动,同理在按键松开的时候也会存在一个后沿抖动。在实际检测的时候,为了克服这种抖动,一般可以采用两种方法