草庐IT

STM32WBA

全部标签

STM32笔记

GPIOGPIOB->BSRR|=GPIO_PIN_7 在STM32F103中,GPIOB->BSRR|=GPIO_PIN_7的作用是将GPIOB的第7位引脚设置为高电平(将引脚置1),而GPIOB->BRR|=GPIO_PIN_7的作用是将GPIOB的第7位引脚设置为低电平(将引脚置0)。下面是对这两个语句的详细说明:GPIOB->BSRR|=GPIO_PIN_7:GPIOB是STM32F103的GPIOB端口的寄存器地址。通过GPIOB指针可以访问和操作该端口的寄存器。BSRR是GPIOB的置位设置寄存器。通过对该寄存器进行操作,可以将对应引脚置为高电平。GPIO_PIN_7是位掩码,表示

STM32 cubeMX HAL库 LL库 串口死机及overrun error中断

遇到问题一次偶然经历,串口接收数据时,只接了TX和RX,忘了接地线,单片机能发送数据,但是一旦接收一个字节数据,马上就死机,表现为主函数无反应,串口能进中断,也能响应,但是不能再发送数据了。·经过排查,串口是进入了overrun中断·猜测是没接地线导致串口电平错误,一帧接收完后RX引脚处于不正确的电平,导致串口进入错误中断·通过调用FLAG查询函数可以得知overrun中断标志位被置位LL_USART_IsActiveFlag_ORE(constUSART_TypeDef*USARTx)·原因是在配置串口参数时,Overrun和DMAonRXError默认是打开的。关于Overrun和DMAo

解决STM32引脚无法输出0V电压问题:深入探讨输出缓冲器(Output Buffer)

        在嵌入式系统开发中,精确控制引脚输出电压是至关重要的。然而,有时会遇到DAC模块无法输出0V(接近)电压的情况,这往往是因为默认开启了OutputBuffer(输出缓冲器)导致的。在程序中直接赋值为0——“DAC_SetChannel1Data(DAC_Align_12b_R,0);”,输出值为71mV 一、直接解决         在通过对芯片手册的查阅可知:当OutputBuffer被使能时,最小输出值为0.2V,最大输出值为(VDDA-0.2)V;当OutputBuffer被禁用时,最小输出值为0.5mV,最大输出值为(VREF+-LSB)mV,由此可以得出OutputB

STM32编码器模式(带方向/正交编码)

STM32编码器模式1、编码器介绍2、脉冲计数对应电机速度的数据两种处理方式(1)定时器中断法,计算电机的圈数(==过程小题大做,不推荐==)(1)脉冲计数法,直接根据单位时间内所采集到的脉冲数作为电机的转速(==更加精准,推荐==)3、STM32定时器编码器模式理论分析(1)定时器编码器模式选择(2)定时器编码器输入极性的选择(3)定时器编码器输入极性的寄存器配置4、结合手册函数刨析库函数(1)STM32定时器编码器模式的库函数配置代码(2)刨析5、编码器速度的读取看前说明:这里重点介绍的时STM32的定时器编码器模式,是根据STMF10x参考手册,如果有使用过编码器或编码器不一样的可以直接

Protues如何安装下载使用:STM32利用Protues进行仿真

文章目录:一:Proteus仿真的使用步骤第一步:Proteus新建项目 第二步:Proteus设计电路图(选取元器件、摆放元器件、编辑元器件属性、原理图布线)第三步:程序代码编写第四步:Proteus关联程序代码并运行仿真二:工具安装Proteus8.15仿真软件下载安装 Keil软件下载安装 三:proteus的器件关键词参考:人生无限公司博主 、阿甘212博主一:Proteus仿真的使用步骤第一步:Proteus新建项目 1.打开Proteus8Professiona电路仿真软件——>点击File文件——>点击NewProjectxx新建文件——>下一步或者在开始设计里面——>点击新建工

0.96OLED 4针IIC STM32-标准库版本(附源码)

0.96OLED4针IICSTM32标准库版本在前面已经介绍过,这里就不多说了,详情请见:0.96OLED4针IICSTM32HAL库版本另外,本人在代码中封装了一个OLED显示的接口,方便开发者对字符显示位置的快速定位,以及像C语言printf()函数一样在屏幕上进行int,float,char等变量的格式化输出。非常方便实用。封装接口原先用这个oled库提供的接口使用x,y定位坐标计算比较麻烦,因此做了一个宏进行封装。可变参数宏:chartxt[16]; //需要在调用这个显示接口前声明txt这个变量#definedisplay(row,col,size,...){sprintf((cha

基于ESP32-S3-BOX-Lite的语音合成与播报系统(esp-idf+WiFi+HTTPS+TTS)

目录项目介绍硬件介绍项目设计开发环境及工程目录总体流程图硬件初始化WiFiHTTPS请求TTS语音合成与播报cJSON解析TTS初始化语音合成与播报附加功能按键回调LVGL数据可视化显示功能展示项目总结👉【Funpack2-5】基于ESP32-S3-BOX-Lite的语音合成与播报系统👉Github:EmbeddedCamerata/esp-box-lite-bfans-tts项目介绍本项目基于ESP32-S3-BOX-Lite,使用esp-idf开发,连接WiFi并发出HTTPS请求,返回B站用户数据信息,再使用cJSON完成json数据解析,得到用户粉丝数,最后通过TTS实现语音合成与播报

STM32中独立看门狗和窗口看门狗的使用方法

独立看门狗(IndependentWatchdog,IWDG)和窗口看门狗(WindowWatchdog,WWDG)是STM32微控制器中提供的两种看门狗定时器。看门狗定时器是一种硬件计时器,用于监视系统的运行状态,并在系统出现故障或崩溃时执行相应的操作。下面,我将分别介绍STM32中独立看门狗和窗口看门狗的使用方法。1.独立看门狗(IWDG)的使用方法独立看门狗是一个简单的看门狗定时器,它基于硬件提供的时钟,独立于系统时钟。主要用于监视系统中断的处理时间,确保系统在正常工作时定期喂狗,从而避免系统崩溃或卡死。以下是使用IWDG的基本步骤:步骤1:配置看门狗时钟为了使用IWDG,首先需要配置看

ESP32 通过HTTPS进行OTA更新固件(在platform上进行编码)

ESP32通过HTTPS进行OTA更新固件(在platform上进行编码)目录ESP32通过HTTPS进行OTA更新固件(在platform上进行编码)1、OTA技术简介2、本章介绍3、HTTPSOTA更新流程3.1、HTTPOTA更新流程3.2、HTTPSOTA更新流程4、HTTPSOTA具体实现4.1、编写要更新的固件4.2、在AmazonS3存储桶上储存要更新的固件。(firmware.bin)4.2、获取AmazonS3网站证书4.3、编写HTTPSOTA更新固件程序4.4、编写好程序,编译完成,烧录到ESP32中按下rebot键开始OTA更新。5.问题5.1问题一:证书不对5.2问题

STM32H750串口接收数据出现丢字节以及使用DMA出现内容错误问题

问题描述我们通过485和第三方设备进行通信时,是通过接收中断完成数据的接收,但是在实际测试过程中发现设备的应答内容会出现偶发的缺少一个字节。后续经过问题的分析将串口的接收机制改为使用DMA方式接收数据,但是由于该设备会涉及到两个扫描指令,两个指令的应答内容是不同的,但是在实际测试中发现本属于第二个指令的应答内容会出现在第一个指令应答的位置。问题分析字节丢失分析初次遇到此问题时怀疑是设备应答出现了异常,但是通过并联一个485监听发现出现字节丢失问题时报文内容时正常的。那也就是说整个数据链路到H750都是正确的,问题也就是出在了750内部了,我们再结合数据接收的方式:通过接收中断逐个字节获取设备应