草庐IT

在ARM平台STM32及APM32下ASD1101温度传感器时序与源码

ASD1101温度芯片ASD1101是一款高精度数字温度传感器。ASD1101可提供24位数字温度转换结果,具有0.00003℃的分辨率,无需用户校准即可在-20℃至+50℃的范围内实现高达±0.1℃的精度。ASD1101具有I2C接口与SMBus接口,具有可配置总线地址,可通过ADDR引脚配置成4种不同的地址。ASD1101具有可编程警报功能。芯片内置一个可用于通用应用的24*3Bits的EEPROM存储器,可掉电存储配置信息。ASD1101可在1.8V至5.5V电压范围内运行,最大转换速率60Hz下平均工作电流只有90uA,这样的低功耗可以最大限度减少芯片自发热对测量精度的影响。ASD11

如何使用串口来给STM32下载程序

设置启动模式为系统存储启动模式。要将STM32设置为系统存储器启动模式,需要在上电前,设置BOOT0=1,BOOT1=0。或者是在上电后,设置BOOT0=1,BOOT1=0之后,然后按一下复位按键。这两种方式都可以让设置为系统存储启动模式,以便通过串口下载程序。要下载程序到STM32,需要使用ST官方的FlashLoaderDemonstrator软件。FlashLoaderDemonstrator是ST官方的串口下载软件,该软件可以通过串口向STM32的内部FLASH下载程序。官网地址:https://www.st.com/content/st_com/en/products/develop

如何优雅地解决STM32的Flash写保护的问题?

本文介绍了如何解决STM32芯片Flash写保护导致无法下载程序,无法在线调试的问题;如果您遇到相同的问题,希望本文可以带来一些帮助;1、FLASH的写保护如果对Flash设置了写保护,那就无法对Flash进行编程和擦除。在开发STM32的时候,如果出现这种情况,通常仿真器都支持对Flash进行解锁,像jlink,stlink等仿真器都支持这个功能。2、错误提示在使用MDK进行调试的时候,出现报错==FlashTimeout.ResetTargetandtryitagain==,具体如下图所示;折腾了一番之后,并没有解决问题,因为使用的仿真器是stlink,因此下载了stlinkutility

单片机设计:基于stm32智能语音识别蓝牙音响(ld3320语音识别模块+mp3模块+喇叭+点阵屏+OLED+蓝牙+手机app)

单片机设计:基于stm32智能语音识别蓝牙音响(ld3320语音识别模块+mp3模块+喇叭+点阵屏+OLED+蓝牙+手机app)一、主要功能:1.手机app播放内存卡的音乐、同时点阵屏随音乐进行跳动2.0LED、手机app显示当前音量以及当前状态3.手机app远程调节音量阈值,可以切换上一首、下一首,音乐播放结束后自动下一首4.语音模块通过识别人的声音来控制蓝牙音响的状态(上一首,下一首,暂停,播放,音量加,音量减)当然也可以添加其他功能~定制可赠送资料:1.实物2.源码以及手机app3.原理图4.售后线上服务(代码讲解)二、实物图:三、部分源码:主函数部分:while(1) {       

stm32中的AHB、APB1、APB2分别属于计算机三大总线数据总线、地址总线和控制总线中的哪一种?

最近在看计算机体系结构和stm32,对于AHB、APB1、APB2总线找不到在计算机体系结构中的属于,于是深入探究了AHB、APB1、APB2和计算机三大总线数据总线、地址总线和控制总线的关系。AHB=AdvancedHighPerformanceBus,译作高级高性能总线。AHB用于高性能模块(如CPU、DMA和DSP等)之间的连接。APB=AdvancedPeripheralBus,译作高级外设总线。APB主要用于低带宽的周边外设之间的连接,例如UART、1284等。在STM32中APB又可分为APB1和APB2,具体所连接的外设又有所不同,如下图(STM32F10xxx系统结构图)。总体

STM32使用PWM实现led亮度变化

原理及代码讲解1.序言2.频率3.占空比4.控制led亮度变化原理5.代码实例5.1初始化引脚5.2配置定时器15.3配置输出PWM6.结语1.序言这里我以stm32F103c8te为例,讲解一下pwm如何输出,pwm又是如何控制led灯的亮度变化,以及具体代码又是如何是实现的。最后结语中也给出了一个小练习。2.频率首先我们搞清楚一个概念什么是频率。比如我们stm32F103的系统频率是72M就是指1秒钟能产生的72M的脉冲(高电平或者低电平)次数。而对于定时器的时钟频率,就是指定时器1秒钟产生的脉冲(低电平或者高电平)的次数。所以频率越高,led灯就不容易闪烁(速度够快,肉眼察觉不到,感觉是

撸一遍STM32最小系统板

采样的MCU型号为STM32F405RGT6,目前这款芯片价格便宜性能好。1电机控制会用到单片机的哪些功能?GPIO(通用输入/输出):单片机的GPIO引脚可以用于控制电机的开关、使能以及接收传感器的反馈信号。通过设置GPIO引脚的电平状态,可以实现电机的启动、停止和方向控制。定时器/计数器:定时器/计数器模块可以用于生成精确的时间延迟、周期性信号以及脉冲宽度调制(PWM)信号。PWM信号常用于电机速度控制,通过调节占空比可以改变电机的平均输出功率。ADC(模数转换器):ADC模块可以将模拟量输入信号(如电机电流、电压、位置等)转换为数字量,以便单片机进行处理和控制。ADC可以用于实时监测电机

手写嵌入式操作系统(基于stm8单片机)

#include#include#defineMAX_TASKS2//简化方面,我们当前操作系统只有2个task#defineMAX_TASK_DEP32unsignedcharidatatask_sp[MAX_TASKS];//任务的堆栈指针unsignedcharidatatask_stack[MAX_TASKS][MAX_TASK_DEP];//每个一个task任务的堆栈unsignedchartask_id;//当前任务号,从0开始。//任务状态typedefenum{ TASK_RUNNING,//运行状态 TASK_SUSPENDED//挂起状态}TaskStatus;typede

STM32 SD-FatFS连续写入数据无效与解决方法 文档空白解决方法

STM32SD-FatFS连续写入数据无效与解决方法文档空白解决方法引言:STM32下位机做毕设遇到这个问题,用FatFS对SD卡多次连续写入的时候,SD卡中内容是空的,或者是看不见的字符。我将遇到的问题和解决方法总结一下。项目解决方法—f_printf()四连前言:刚开始尝试f_write()来写入,但总会出现各类问题,例如只写入一行数据、只有空文档、只有隐藏字符等问题。解决:如果只需要写入一次数据,或者传感器采集所有数据后一次性写入,那么f_write()和f_printf()都可以,直接f_printf()+f_close()就可以;多次写入就涉及指针偏移问题,需要使用f_lseek()

基于STM32的android蓝牙控制LED灯,代码开源!!!

基于STM32的android蓝牙控制LED灯前言一、环境介绍二、功能说明三、硬件设计四、软件设计4.1WS28120B驱动4.2串口协议4.3android程序总结前言使用STM32控制LED灯很简单,这次将通过android应用,连接对应的蓝牙模块,进行数据传输,以此来达到手机控制开发板LED的亮灭,颜色切换以及亮度调节。一、环境介绍(1)单片机采用:STM32F103RCT6或者F1其他系列单片机(2)通信方式:采用蓝牙通信,某宝上常见的HC-05等等(3)开发软件:keil5(4)硬件连接功能:蓝牙模块和STM32串口相连接(5)LED:WS28120B二、功能说明程序运行,打开手机A