- 博客(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 1611
原创 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 1013
原创 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 2427
原创 stm32H743基于CubeMX配置为双ADC多通道DMA规则采样
stm32H743的ADC支持的最大频率为36MHz,有相关资料上说是可以超频,具体技术细节不多讨论。需求:使用stm32H743的ADC采集5路ovrc
2021-06-03 16:42:49 3385 7
原创 keil5 stm32 跳不出while循环解决过程及方法
问题现象:在主函数main中,有等待某一状态变量改变的while循环,在调试模式下观测该状态已经发生了改变,但while判断就是过不去,而在单步调试,判断是可以过去的。
2021-06-03 16:09:28 6993 4
原创 AD7192 驱动 bug
现象:驱动ADC不正常,调试模式下,运行第一次后,ADC Ready无输出,reset后重跑时,又输出正常了,反复如此驱动的代码也是从网上找的,不应该有什么问题啊,调试了很久,也没能找到问题的原因。然后认真对照数据手册和代码,然后才发现问题的原因:AD7192至少连续接收到40个高电平信号时,才会软件复位,而程序中也恰好发了40个高电平。。。然后我放宽到48个高电平,问题完美解决反思:驱动程序不能写的太边界了,容易有问题,为了有更好的兼容性,还是放宽一点为好另外也没有具体去数到底
2021-04-28 18:03:30 715 2
原创 嵌入式开发----低功耗设计、解决方法
第一次接触低功耗产品,在降功耗的过程中费了很多心思,把解决过程介绍给大家,供参考:在很多场景下会要求产品要低功耗,stm32低功耗芯片最低10uA,实测,在运行模式下,最小系统板,全管脚模块收入时,0.224mA下面介绍下我在项目中降功耗的经验我们的PCB板上用到了片内片外的ADC、串口、片外FLASH、按键、显示屏等1、首先控制芯片的频率,在满足使用的情况下,越低越好,我用的是4MHZ2、管脚处理:使用的时候初始化,用完改为模拟输入按照以上两方法,设计出来的软件运行功耗为2.3mA
2021-04-22 15:22:41 706
原创 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 3292
原创 stm32L431 AD7192 通过spi + DMA方式连续采样问题
关注,待解决!!!!问题如下:AD7192 是24位ADC,每次数据传输24位,而stm32L431的SPI数据长度最长可设置为16位,那么这两者用spi + DMA方式连续采样时怎么驱动配置呢?后续解决了再发相关代码。...
2021-03-24 10:17:08 1082 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 1904
原创 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 3596
Qt5_QThread_信号传递
2020-10-10
luaEditor6.30 编辑器
2018-04-28
用均值滤波和FFT计算直流分量法都不稳定,用什么算法能更稳些呢?
2021-04-27
STM32L431 供电电压Vbat计算不准,误差过大,已解决 配置原因!?
2020-10-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人