- 博客(8)
- 收藏
- 关注
原创 STM32H5 的 freertos 和 浮点数运算 冲突勘误
stm32 需要 主动配置enable fpu,不然会导致在浮点运算出入栈时,没有正常保存现场,导致浮点值异常。所以一定要在这里配置FPU。给自己做个记录,下次注意。在使用音频算法的时候,我希望通过定浮点转换来对音频数据归一化。此时,我发现归一化以后的数据,在dma接收中断内部是正常的,一拿到任务中运行则会异常。导致我开始怀疑是否处理不及时导致值变更过快。反反复复排查了很久。由此我发现在运算时禁止上下文切换,和增加临界区能够解决此问题。
2025-04-07 11:34:04
66
原创 TinyUSB在DFU模式下无法识别memory region的问题
通过对比代码发现需要将tinyusb中的版本号设置为1.1A即为011A才可以进行范围的读取,后来找到了原因,问题在于。
2024-03-21 14:03:23
262
1
原创 STM32H5 cubemx i2s生成的代码有BUG
我用的是搭载stm32h563zit6的开发板,型号为nucleo-h563zi,今天在调试i2s1接受通过dma读取时发现一个问题,HAL_I2S_RxCpltCallback函数被正常调用,但是buffer里面的值都是0,百思不得其解。
2024-02-27 09:24:42
457
原创 STM32 适配 WinUSB
基本上来说,STM32 在CubeMX生成的不同class的设备,都是支持windows免驱的,唯独在DFU模式的情况下,需要手动安装st的驱动才能实现功能,那么有什么办法能够在DFU模式下免驱呢,答案就是WinUSB。
2024-01-04 09:24:09
3895
4
原创 STM32f030 HAL库使用DMA遇到的问题
STM32f030 HAL库使用DMA遇到的问题(已解决)初衷解决初衷问题产生在本人使用esp8266连接stm32f030,应为esp8266免不了上电打印,但是上电打印会导致头2条数据产生粘滞的问题,即IDLE中断不响应,相应之后DMA数据并未从0开始搬运,而是从上次位置开始搬运。解决本人经过KEIL查看寄存器时发现,在接收非指定波特率的数据时,USART的cR1寄存器的PEIE和CR3寄存器的EIE被置位。导致下面一包的数据产生问题。于是我搜索了PEIE,发现在HAL_UART_Recei
2020-05-20 15:29:54
928
原创 ESP8266 RTOS 2.1 内存管理
使用ESP8266 做项目的时候为了增加可用堆栈空间从RTOS_SDK1.5 升级到 RTOS_SDK2.1的时候遇到malloc大空间的内存,读取速度很慢的问题,导致拖慢程序速度,这是因为RTOS2.0 更新的heap.c文件,支持buli不连续的内存空间分配,导致资源消耗,建议对于大内存malloc分配对速度youy有要求的用户,直接定义变量。...
2018-11-09 18:52:43
870
原创 关于stm32 adc不准确的可能解决方案
我用的是cubemx生成的hal库来进行stm32f103c8t的ADC使用,用了基准电压,也用了算法去规避buzh不准的可能,但是一直和万用表测量的数据存在偏差,最后发现,cubemx生成的库并没有添加ad校准函数,只要在开始扫描之前,或者初始化内,前面加上一句HAL_ADCEx_Calibration_Start这个函数就可以解决adc不准确的问题,stm32的adc可以算是蛮精确的。...
2018-10-28 13:18:30
11653
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人