草庐IT

STM32WBA

全部标签

【STM32】FATFS文件系统f_mkfs卡死

最近调试FATFS,通过STM32对SPIFlash进行读写操作。昨天晚上调通了,今天早上再调试,发现f_mount返回FR_NOFILESYSTEM。依据网上所说,对磁盘格式化f_mkfs,卡死在FATFS库的ff.c->f_mkfs()的某个for循环里。FATFS&fs;//初始化省略//res返回FR_NO_FILESYSTEMres=f_mount(&fs,"0:",1);if(res==FR_NO_FILESYSTEM){ //格式化,卡死 res=f_mkfs("0:",0,0);}f_mkfs卡死的for循环代码位置if(!au){ /*AUautoselection*/

STM32睡眠、停机、待机说明

stm32有三种低功耗模式,功耗依次降低:  睡眠模式(sleepmode),停止模式(stopmode),待机模式(standbymode),三种模式概述如下1)stm32的低功耗模式简介睡眠模式:只有内核时钟关闭,外设仍在运行;可以通过任意一个中断或唤醒事件唤醒;唤醒后回到睡眠的位置向后执行。停止模式:关闭内核时钟、外设时钟,保留内核1.8V供电,寄存器和RAM中的数据可以保持,IO口状态也可保持;可以通过任意一个外部中断唤醒;唤醒后可回到停止的代码处向后执行,但要重新初始化时钟和外设。待机模式:关闭所有时钟,关闭内核1.8V供电,寄存器和RAM数据不能保持(除了电源控制/状态寄存器(PW

ADC模数转换器(基于STM32F407)

简介Analog-to-digitalconverters(模拟数字转换器),我的STM32F407中内置3个ADC,每个ADC有12位、10位、8位和6位可选,ADC具有独立模式、双重模式和三重模式,对于不同AD转换要求几乎都有合适的模式可选。特性分辨率有12位、10位、8位和6位可选有3个ADC、但多重模式中ADC1一定为主单次和连续转换模式外部触发器选项,可为规则转换和注入转换配置极性可使用双重/三重ADC模式可独立设置各通道采样时间可使用DMA或者中断采集数据通道选择(规则与注入通道的区别)这个是我比较疑惑的点,就收集了一些资料总结下规则通道:顾名思意,规则通道就是很规矩的意思,我们平

stm32使用i2c读写eeprom的HAL库实现

stm32使用i2c读写eeprom的HAL库实现快速查看stm32使用i2c读写eeprom的HAL库实现实验目的缘起搭建工程实验现象本文中使用的测试工程附录本文目标:基于HAL库的stm32实现eeprom的i2c实验按照本文的描述,应该可以跑通实验并举一反三。先决条件:装有编译和集成的开发环境,比如:KeiluVision5、STM32CubeMX使用外设:I2C1、USART1、GPIOEEPROM(也称为E2PROM)代表电可擦除可编程只读存储器,是计算机中使用的一种非易失性存储器,通常集成在智能卡和远程无钥匙系统等微控制器中,或作为一个单独的芯片设备,通过允许擦除和重新编程单个字节

STM32内部温度传感器使用方法详解

STM32内部温度传感器使用方法详解前言STM32内部集成了一个片上温度传感器,可以用来测量MCU及周围的温度。测量范围:-40~125,精度±1.5℃。虽然精度不高,但在某些应用场景下是够了的,相比于外部接入传感器,使用内部温度传感器既可以节省成本,又可以简化电路。1温度传感器简介1.1工作原理STM32内部温度传感器在芯片内部与ADCx_IN16输入通道相连接,此通道把传感器输出的电压转换成数字值,继而换算成温度值。因此,我们只需设置一下内部ADC,并激活其内部通道就可以了。温度换算公式如下:T(℃)=((V25-Vsense)/Avg_Slope)+25注:1、V25:Vsense在25

【硬件+代码】STM32 智能家居系统设计+原理图+设计报告

  资料下载: https://download.csdn.net/download/vvoennvv/88445219一、概述    介绍一种以stm32单片机为核心,设计了一套基于GPRS无线网络的智能家居控制系统。该系统以GPRS通信为基础、能通过无线通信技术实时监控家居的温湿度状态,并能自由控制家居的电器的开关操作。同时集成光强采集电路,能自动开关窗帘的功能。    本设计硬件电路结构简单,分为控制器模块,GPRS模块,继电器控制模块,步进电机控制模块等五大电路模块,其中控制器选用基于cotex-m3内核的32位微控制器STM32F103R8T6。GPRS模块选用SIM900模块,人机

stm32实现0.96oled图片显示,菜单功能

stm32实现0.96oled图片显示,菜单功能功能展示简介代码介绍oled.coled.holedfont.h(字库文件)main函数代码思路讲解本期内容,我们将学习0.96寸oled的进阶使用,展示图片,实现菜单切换等功能,关于oled的基础内容,这里我不做介绍,大家可以学习:夜深人静学32系列17——OLED,里面讲述了oled的基本知识并实现了一个简单页面的编写。功能展示这个菜单一共有三个等级,一级菜单:原神启动界面二级菜单:电话、音乐、QQ、定位界面三级菜单:加载中界面,其他的实在不想写了。。。。。三个等级的界面通过按键0、1、2控制,具体控制逻辑如下:按键0:进入下一级界面(当界面

arduino、STM32和树莓派了解

一、arduino1、什么是arduinoArduino是一款便捷灵活、方便上手的开源电子原型平台。Arduino能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序      arduino是一类单片机、开发板、可编程逻辑器件,是我们设计智能硬件的大脑。arduino有多种类型,常见的有arduinouno、arduino2560、arduinonano,可根据项目对开发板的性能、体积、成本等需求选定。arduino是完全开源的,不存在盗版的说法,有国内板和意大利板,性能上区别不大除了这些正规军,还有很多

STM32 E18-D80NK红外检测

本文代码使用HAL库。文章目录前言一、E18-D80NK红外传感器:1.E18-D80NK的介绍2.电器特性二、红外检测小实验代码讲解三、实验现象总结前言这篇文章介绍如何使用STM32控制E18-D80NK进行红外检测。一、E18-D80NK红外传感器:1.E18-D80NK的介绍E18-D8ONK这是一种集发射与接收于一体的光电传感器,发射光经过调制后发出,接收头对反射光进行解调输出。有效的避免了可见光的干扰。透镜的使用,也使得这款传感器最远可以检测80厘米距离的问题(由于红外光的特性,不同颜色的物体,能探测的最大距离也有不同;白色物体最远,黑色物体最近)。检测障碍物的距离可以根据要求通过尾

单片机STM32死机问题分析及解决方案总结

1、程序卡死在非中断的程序中,含有forwhile等循环体函数参数不正确导致,例如memcpyCRCcheck等。现象:程序主逻辑无法执行,但是各个中断服务程序能够正常运行。解决方法:1)在中断程序中点灯或者打印,判断中断程序是否能够正常运行;2)keil的debug模式在线调试运行,即可知道程序卡死位置。3)在2)无法满足时,在程序主逻辑中打印或者点灯,多次编译烧录,判断卡死位置。2、程序卡死在中断中,中断程序中没有清除中断标志位,或者中断服务程序的触发频率太高,中断没有执行完毕又触发了中断标志位,单片机在循环执行中断服务程序。例如在高频率的中断服务程序中增加printf打印信息容易造成该现