草庐IT

data-vault

全部标签

模拟STM32 Flash数据丢失、被串改的异常情况

    在项目中,通常会将一些需要掉电存储的数据保存在flash中,但在某些情况下存储的数据会被莫名其妙的修改或者丢失,但这种情况又很难复现。为了模拟这种情况,我们可以读出Flash数据,修改某个值以后再下载进去,不需要动程序程序部分。以下内容分为三个部分,第一是读取Flash数据,第二是修改Flash数据,第三是修改后的数据下载回单片机。一、读取Flash数据借助的工具是SEGGERJ-Flash硬件工具是JlinkSWD(1)打开SEGGERJ-Flash工具,点击Options选项,选择ProjectSettings,打开界面后,选择SWD模式,如下图所示。(2)MCU选择你当前用的型号

STM32-06-STM32_GPIO

文章目录STM32GPIO1.GPIO简介2.GPIO工作模式3.GPIO相关寄存器4.通用外设驱动模型5.GPIO配置步骤6.点亮LED灯7.LED流水灯8.按键控制LED灯STM32GPIO1.GPIO简介什么是GPIO?GPIO:GeneralPurposeInputOutput,即通用输入输出端口,简称GPIO作用:负责采集外部器件的信息或者控制外部器件工作,即输入输出STM32F103ZET6芯片是144脚的芯片,具有GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF和GPIOG七组GPIO口,共有112个IO口可供编程使用。GPIO特点?不同型号芯片IO口数量可

CUBEAI详细使用教程(STM32运行神经网络)---以手写识别为例

系列文章目录文章目录系列文章目录前言一、CUBEMX配置步骤二、模型结构及模型存储方式三、常用API函数1.ai_(name)_create()2.ai_(name)_init3.ai_(name)_create_and_init()3.ai_(name)_run()官方提供的示例代码四、如何获取官方开发文档五、手写识别案例前言实验效果,通过上位机上传图像到单片机识别后返回识别结果CUBEAI(CubeArtificialIntelligence)是一种人工智能(AI)中间件,旨在为嵌入式系统提供高效、灵活的神经网络推理能力。该中间件的设计目标是在资源有限的嵌入式设备上实现深度学习推理,从而为

【STM32】知识点总结

谨以此篇,记录我的stm32学习路线和感悟。我一共接触过两款stm32的单片机,第一款是b站江科大自化协(如今叫江协科技)stm32系列课程中所教的STM32F103C8T6,第二款是野火的STM32F407ZGT6霸天虎开发板。我认为其中比较重要的知识点为单片机内部的时钟树,中断控制器和外设资源中的定时器,串口,ADC。而其他的知识点比如I2C,SPI等通信协议,电源控制等完全可以在实际项目中的时候去学习。先去把最基础的框架搭建好,再去进行深入的学习。再搞的差不多之后可以去学习FREERTOS,这是一个实时性操作系统,对于比较复杂的工程可以大大提高代码的逼格(不是),系统工作的实时性。(温馨

基于物联网设计的水稻田智能灌溉系统(STM32+华为云IOT)

一、项目介绍随着科技的不断发展和人们生活水平的提高,农业生产也逐渐向智能化、高效化的方向发展。水稻作为我国主要的粮食作物之一,其生长过程中的灌溉管理尤为重要。传统的灌溉方式往往依赖于人工观察和控制,不仅效率低下,而且容易出现误差,无法满足现代农业生产的需求。当前设计了一款基于STM32的水稻田智能灌溉系统。该系统能够通过水位传感器和温度传感器实时监测稻田的水位和水温,并根据设定的阈值自动控制水泵的开关,实现自动灌溉。同时,通过NBIOT模块将实时数据上传到华为云物联网云平台,用户可以通过手机APP远程监控和控制设备的运行,实现远程管理。相当于直接将水稻田搬到了云端,后期还会加入摄像头监控,加入

RT-Thread:ADC 框架应用,通过 STM32CubeMX 配置 STM32 ADC驱动

关键词:ADC,RT-ThreadADC,STM32ADC应用说明:本笔记是记录如何开启RT-Thread框架的ADC功能,使用系统自带的ADC函数,并通过STM32CubeMX配置STM32 ADC驱动。1.打开board.h文件,找到ADC使用配置的流程,按流程操作。*ifyouwanttouseadcyoucanusethefollowinginstructions.*如果您想使用adc,可以使用以下说明。**STEP1,openadcdriverframeworksupportintheRT-ThreadSettingsfile,*步骤1,在RT线程设置文件中打开adc驱动程序框架支持

STM32 HAL库 SPI主从双机通信

一、简介最近因为项目需求,需要在一块板子内实现一个主机和五个从机的通信;主机平台选用的是STM32F407VGT6,从机平台选用的是STM32F103C8T6;通信总线选用的是SPI总线。在构想是觉得采用SPI进行主从通信会很简单,但在实际开发的过程中,各种坑,通信时而正常时而混乱。不过在不断探究中,也逐渐发现了,各种问题所在,借此记录下来,希望能帮助一些兄弟在开发中避免一些坑。本次实现的平台如下:通信主机:芯片:STM32F103RCT6硬件平台:野火mini开发板通信从机:芯片:STM32F103C8T6硬件平台:淘宝STM32F103C8T6最小系统开发板软件:HAL库MDKSTM32C

STM32CubeMX教程29 USB_HOST - 使用FatFs文件系统读写U盘

1、准备材料正点原子stm32f407探索者开发板V2.4STM32CubeMX软件(Version6.10.0)keilµVision5IDE(MDK-Arm)ST-LINK/V2驱动野火DAP仿真器XCOMV2.6串口助手2、实验目标使用STM32CubeMX软件配置STM32F407开发板USB_OTG_FS为工作在MassStorageHostClass(大容量存储主机类)模式下的USB_HOST(USB主机),并使用FatFs文件系统对插入开发板的U盘进行读写等操作3、USB概述3.1、USB协议通用串行总线(UniversalSerialBus,简称USB)是1994年提出的一种支

RT-Thread STM32L475 潘多拉开发板BSP说明①

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

STM32故障处理——HAL_Delay卡死

问题描述笔者准备写一个按键控制LED亮灭的简单程序,但是程序却卡死在了用于消抖的HAL_Delay(20)处问题所在检查发现是因为HAL_Delay()需要用到SysTick定时器,而本人使用的STM32CubeMX对SysTick的初始中断优先级设为了15(最低),所以按键中断进入后调用HAL_Delay()函数发生卡死解决方案打开STM32CubeMX,进入Pinout&Configuration->SystemCore->NVIC,将SysTick的优先级设置得比按键中断更高即可前面的是抢占优先级,后面的是响应优先级简单来说就是比谁的数字小,小的优先级高。比完抢占优先级比响应优先级。