- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 关于温度滤波
采用18B20进行温度采样,最小分辨率1/16℃,然后计算温变速率用以进行数据补偿。 尝试了以下三种方法:温度取一分钟均值后,计算温变速率;利用TD计算;先差分求速率,然后低通滤波 结论:对速率进行低通滤波效果最好,代码最简单。 分析:真的很遗憾,第一次感受到了理论和工程实际的差距,TD的滤波效果是有限的,特别是输入的误差方差太大的时候,不如一个大的低通滤波来的平滑。其次,微分后应该滤波,因为微分导致高频信号赋值增大。
2023-03-03 17:16:30 609
原创 stm32cubeMX+HAL库+串口DMA+iap跳转+DCache
1.串口dma中断接收hal_uart_receive_it只能接收一次,要把他放在中断函数里才能连续接收,且while前要使用一次。dma的fifo能减少进入dma中断的时间,但是并不大。DCache会与dma冲突,导致数据在缓存里,dma读不到数,这是数据一致性的问题,可以解决,但是麻烦2.iap跳转通过串口接受到数据,数据写入内部flash,再执行跳转函数。注意bootloader程序的dma只能normal模式,否则跳转后卡死在dma中断程序里。通过右键文件属性可以看到生成的bin文件字
2021-10-26 11:10:16 622 1
原创 stm32cube,hal库来实现PS2手柄数据发送
stm32cube,hal库来实现PS2手柄数据发送很久前买了个PS2的手柄,如下,之前以前不会使用cube来配置工程,导致写程序很麻烦,对我这样的新手很不友好,看卖家提供的程序也很麻烦,拉高拉低的。现在接触了cube,决定用cube库来实现下,这样添加或者更改配置也方便。1.cube配置我使用的是STM32F103C8芯片,需要配置SPI,引脚随意,默认或者自己改都行,spi配置如下8位数据,LSB低位在前,分频依据时钟定,主要是波特率250k bits/s,时钟极性高,就是说平时是高,时钟相
2021-01-24 10:28:11 3367 5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人