自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (3)
  • 问答 (2)
  • 收藏
  • 关注

原创 stm32h7用hal库函数对FLASH写保护

写保护: FLASH_OBProgramInitTypeDef obStruct; HAL_FLASHEx_OBGetConfig(&obStruct); obStruct.OptionType |= OPTIONBYTE_RDP | OPTIONBYTE_WRP; obStruct.RDPLevel = OB_RDP_LEVEL_1; HAL_FLASH_OB_Unlock(); HAL_FLASHEx_OBProgram(&obSt.

2022-03-11 14:12:24 1420

原创 hal库STM32Cube_FW_L4_V1.16.0 中stm32l4xx_hal_tim.c的BUG

现象:stm32L431选择了TIM6作为系统时基时,编译下载后,程序为死在 HAL_Init();中,debug时发现在程序为停在 HAL_TIM_IRQHandler(&htim6);中,中断标志位不会被清除所致。问题代码: /* TIM Update event */ /* TIM Break input event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK) != RESET) { if (__HAL_TIM..

2021-12-08 11:06:52 925

原创 cubemx中的freeRTOS中的CMSIS_V1与 CMSIS_V2区别

正常V1够用了,普通功能选V1,高级功能先V2:我分别选择CMSIS_V1和CMSIS_V2编译了两次进行对比,结果如下:CMSIS_V1:Program Size: Code=5160 RO-data=476 RW-data=116 ZI-data=4940 CMSIS_V2:Program Size: Code=8544 RO-data=484 RW-data=140 ZI-data=7388 ...

2021-12-08 10:53:13 2223

原创 stm32H743基于CubeMX配置为双ADC多通道DMA规则采样

stm32H743的ADC支持的最大频率为36MHz,有相关资料上说是可以超频,具体技术细节不多讨论。需求:使用stm32H743的ADC采集5路ovrc

2021-06-03 16:42:49 2934 6

原创 keil5 stm32 跳不出while循环解决过程及方法

问题现象:在主函数main中,有等待某一状态变量改变的while循环,在调试模式下观测该状态已经发生了改变,但while判断就是过不去,而在单步调试,判断是可以过去的。

2021-06-03 16:09:28 6102 2

原创 stm32CubeMX的中文支持bug

在操作TIM2的配置时,在Contancs中输入了中文,结果就出来了下面的情况,全屏乱跳!

2021-04-29 10:49:38 629 2

原创 AD7192 驱动 bug

现象:驱动ADC不正常,调试模式下,运行第一次后,ADC Ready无输出,reset后重跑时,又输出正常了,反复如此驱动的代码也是从网上找的,不应该有什么问题啊,调试了很久,也没能找到问题的原因。然后认真对照数据手册和代码,然后才发现问题的原因:AD7192至少连续接收到40个高电平信号时,才会软件复位,而程序中也恰好发了40个高电平。。。然后我放宽到48个高电平,问题完美解决反思:驱动程序不能写的太边界了,容易有问题,为了有更好的兼容性,还是放宽一点为好另外也没有具体去数到底

2021-04-28 18:03:30 621 1

原创 嵌入式开发----低功耗设计、解决方法

第一次接触低功耗产品,在降功耗的过程中费了很多心思,把解决过程介绍给大家,供参考:在很多场景下会要求产品要低功耗,stm32低功耗芯片最低10uA,实测,在运行模式下,最小系统板,全管脚模块收入时,0.224mA下面介绍下我在项目中降功耗的经验我们的PCB板上用到了片内片外的ADC、串口、片外FLASH、按键、显示屏等1、首先控制芯片的频率,在满足使用的情况下,越低越好,我用的是4MHZ2、管脚处理:使用的时候初始化,用完改为模拟输入按照以上两方法,设计出来的软件运行功耗为2.3mA

2021-04-22 15:22:41 621

原创 stm32 浮点数 -nan(ind) inf Bug

在调试stm32 时出现程序跑飞的情况,debug时发现有一个float的变量为-nan(ind),也就是在除法时除数为零所致,解决方法如下:在数据处理中,经常会对数据进行判断,看是否异常。有时候数据会很大或者很小,或者负数,这些都可以进行判断。但是当数据出现了1.#QNAN这样的无效值情况时,经常会失去判断,导致最后数据处理出错。有两个函数可以用来判断(头文件为#include"float.h")int _isnan(double);int _finite(float);如...

2021-04-10 09:32:18 2660

原创 stm32L431 AD7192 通过spi + DMA方式连续采样问题

关注,待解决!!!!问题如下:AD7192 是24位ADC,每次数据传输24位,而stm32L431的SPI数据长度最长可设置为16位,那么这两者用spi + DMA方式连续采样时怎么驱动配置呢?后续解决了再发相关代码。...

2021-03-24 10:17:08 943 1

原创 STM32L431 寄存器配置 USART+DMA发送+中断接收

用的外设是PA9 PA10DMA选择的是DMA2_Channel6代码中还用了DMA传输完成中断,用来配置ADM2483的管脚。直接上代码了:void UART_Init(u32 pclk2, u32 bound, u8 checkMode){ __GPIOA_CLK_ENABLE(); __GPIOB_CLK_ENABLE(); __GPIOC_CLK_ENABLE(); __HAL_RCC_USART1_CLK_ENABLE(); __HAL_

2020-09-28 14:47:07 1730

原创 QT QRegExp 正则匹配、查找、替换的方法

一、匹配字符串是否以“空格数字”结尾: QString qStr = "我爱我家 1"; QRegExp rx(" \\d"); if (rx.exactMatch(qStr)) { qDebug() << "True"; } else { qDebug() << "False"; }二、查找 分别查找“空格数字”尾和前面的字符串: QString qStr = "我爱我家 1"; ..

2020-09-24 16:16:40 3142

Qt5_QThread_信号传递

由于只有UI主线程才可以操作桌面UI,那么在多线程中,其它线程的数据若要显示出来,可以通过全局共用变量来实现,或者通过线程通信的方式来实现,本例程就是通过UI上的按钮启动线程,在线程中发送信号到UI主线程,并在UI上显示出来

2020-10-10

触摸精灵助手

开发触摸精灵脚本的代码助手,可以自动生成 if then ... end代码,提高代码开发速度!

2018-04-28

luaEditor6.30 编辑器

luaEditor6.30 编辑器虽然免费了,但是启动的时候总有个烦人的推广弹出框,本次绿化彻底去掉了启动时的弹出窗口,喜欢LUA脚本的同志们,我敢保证这个是最好用,最干净的!下载的朋友别忘记加分哦!

2018-04-28

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除