草庐IT

STM32使用HAL库驱动DS18B20

1、STM32CubeMx配置IO口因为DS18B20是单总线,数据接收发送都是这根线,所以单片机配置为开漏上拉输出。2、定时器配置因为DS18B20对时序要求比较严格,建议用定时器延时获得微秒延时函数。总线为48M,分频48,获得1us定时时基。3、头文件#ifndef__DS18B20_H#define__DS18B20_H#include"main.h"//定义DS18B20相关命令#defineDS18B20_CMD_SKIP_ROM0xCC#defineDS18B20_CMD_CONVERT_T0x44#defineDS18B20_CMD_READ_SCRATCHPAD0xBEvoi

工训赛智能垃圾桶分类全流程代码分享(树莓派+stm32)

目录目录前言一、机械结构设计附机械部分图纸​编辑二、树莓派视觉识别1.数据集的制作(1)数据集处理部分 (2)数据集的优化2.数据集打标签建议(1)网站推荐(2)问题示例3.树莓派环境搭建部分(1) YOLOv5-Lite环境的部署4.具体Yolov5-lite算法部分(1)引入库部分(2)视觉识别主要部分代码(3)树莓派控制舵机部分代码三、淘晶池串口屏通讯代码四、stm32部分代码1.UART通讯部分函数 前言本人有幸参加活动2023年10月的“联通杯”江苏省工程实践与创新能力大赛,即中国大学生工训赛江苏省省赛。我组在初赛时十中八(识别成功率100%,但是由于我们在机械结构方面考虑不佳导致垃

GY56 红外激光测距传感器 (内附STM32、MSP432代码)

文章目录一、GY56简介1.概述2.特点3.参数4.引脚说明5.应用二、通信协议1.串口2.IIC协议三、模块使用方法四、GY56上位机五、STM32驱动代码六、MSP432驱动代码一、GY56简介1.概述GY-56是一款低成本数字红外测距传感器模块。工作电压3-5v,功耗小,体积小,安装方便。其工作原理是,红外LED发光,照射到被测物体后,返回光经过MCU接收,MCU计算出时间差,得到距离。直接输出距离值。此模块,有两种方式读取数据,即串口UART(TTL电平)+IIC(2线)模式,串口的波特率有9600bps与115200bps,可配置,有连续,询问输出两种方式,可掉电保存设置。GY-56

KylinV10离线安装mysql8.0.32修改端口、修改密码、开发连接权限

前言记录在KylinV10上离线安装最新Mysql8.0.32,以及所遇坑一、准备1、卸载mariadb如果系统内存在自带的旧版MariaDB,直接安装MySQL,会和MariaDB的文件冲突。为了保险起见,先卸载自带的MariaDB,再安装MySQL。#查找mariadbrpm-qa|grep-imariadb#卸载mariadbsudoyumremovemariadbmariadb-server#再次查看rpm-qa|grep-imariadb#还有就继续删rpm-e--nodeps找到mariadb相关的例如:sudorpm-e--nodepsmariadb-connector-c-3.

STM32高级定时器输出指定数量PWM(STM32CubeMx配置)

STM32高级定时器输出指定数量PWM原理了解STM32CubeMx配置定时器及通道配置GPIO口选择工程生成及代码编写工程文件代码编写tim.c编写中断相关函数实现功能函数atim.c及atim.h编写key.c及key.h编写main.c编写原理了解高级定时器中有一个重复计数器,本实验输出指定个数PWM就是利用了重复计数器的特性,先来看看重复计数器的特性是什么:计数器每次上溢或下溢都能使重复计数器减1,减到0时,再发生一次溢出就会产生更新事件这是什么意思呢,这里举个例子比如说我设定重复计数器的值为3,则计数器上溢一次则重复计数器的值变为2,再继续上溢知道重复计数器的值变为0,此时在溢出一次

STM32个人笔记-SDIO接口

目录SDIO接口常用设备SD卡的总线拓扑总线协议SD卡数据包格式 SD命令 SD命令类型响应SD卡操作模式SD卡系统(包括主机和CD卡)定义了两种操作模式:卡识别模式和数据传输模式。卡识别模式数据传输模式STM32功能框图控制单元命令路径 数据路径数据FIFO适配器寄存器HAL库_SDIOSDIO配置SDIO初始化结构体SDIO函数SD卡常用接口:SPI、SDIO。SDIO接口常用设备SD卡组成:存储单元、存储单元接口、电源检测、卡及接口控制器和接口驱动器。SD卡的总线拓扑虽然可以共用总线,但不推荐多卡槽共用总线信号,要求一个单独总线应该连接一个单独的SD卡。 CLK:时钟线,由SDIO主机产

Linux shell编程学习笔记32:declare 命令

0 前言在Linuxshell编程学习笔记16:bash中的关联数组https://blog.csdn.net/Purpleendurer/article/details/134053506?spm=1001.2014.3001.5501中,我们在定义关联数组时使用了declare命令。其实,declare命令的功能不只是定义定义关联数组,现在我们就来探讨它的功能和用法。1 declare命令的功能和格式我们可以使用 命令 helpdeclare 查看 的功能和格式purpleEndurer@bash$helpdeclare declare:declare[-aAfFgilrtux][-p][

RT-Thread STM32 NUCLEO-F072RB开发板BSP说明

RT-ThreadSTM32NUCLEO-F072RB开发板BSP说明RT-ThreadSTM32NUCLEO-F072RB开发板BSP说明简介开发板介绍外设支持使用说明快速上手硬件连接编译下载运行结果进阶使用注意事项示例代码源码下载维护人:RT-ThreadSTM32NUCLEO-F072RB开发板BSP说明简介本文档为NUCLEO-F072RB开发板提供的BSP(板级支持包)说明。主要内容如下:开发板资源介绍BSP快速上手进阶使用方法通过阅读快速上手章节开发者可以快速地上手该BSP,将RT-Thread运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用RT-Threa

S32K系列MCU介绍和资料搜集

1.S32K系列微控制器概述S32K系列微控制器,是NXP推出的专门面向汽车电子和工业应用场合的微控制器。基于Arm®Cortex®-M系列的可扩展、低功耗微控制器,获得了AEC-Q100认证,具有高级功能安全、信息安全和软件支持,适用于工业和汽车ASILB/D车身、区域控制和电气化应用。S32K系列MCU有多个系列型号,包括S32K1、S32K3、S32K39/37系列。下图是各个系列内核、存储器、外设支持等参数。S32K系列MCU,提供汽车级软件开发套件,支持多种编译工具链和IDE,如下表:2.S32K1xx系列概述关于K1系列,官网的介绍如下:S32K1系列32位AEC-Q100认证的M

STM32 IAP固件升级跳转后卡死可能存在的原因

使用IAP固件升级,本质上就是代码地址的跳转,从bootload代码跳转到APP代码。具体关于IAP升级的原理可自行查找资料。本贴主要说明一下,在开发过程中遇到的2个问题导致固件升级跳转后复位。问题1:bootload跳转成功后,串口初始化卡死,导致看门狗复位。分析:APP代码中需要清除bootload中外设的初始化,否则在APP中的初始化无法成功,而且STM32CubeMX生成的HAL,下层函数大部分都是while形式的,初始化不成功就会卡死,如果这个时候设置了看门狗,就会复位。处理方式:在main函数第一行添加HAL_DeInit();清除外设初始化。问题2:一旦bootload运行跳转函