- 博客(6)
- 问答 (1)
- 收藏
- 关注
原创 解决使用adc+dma采集数据“卡死”的情况
需要在HAL_ADC_Start_DMA(&hadc1,(uint32_t*)AD_Value,2);加上这行代码,以提高准确性。进行debug发现程序卡在DMA中断中,再查阅相关资料,大致确定应该是DMA channel1中断反复执行导致的。这是两个adc引脚接入到3.3V,上面是未加上这行代码的运行结果,下面是加上这行代码的运行结果。我是按照CSDN上面得文章,进行ADC数据采集和DMA配置。
2025-07-01 16:39:22
127
原创 看懂“复杂”的延时电路
2A高电平时,1Y高电平,3Y低电平。2A低电平时,1Y低电平,3Y高电平。并且输出信号从低电平切换为高电平的时间较短,从高电平切换为低电平的时间较快。首先2Y那里是一个电压叠加,即AC_Control输出高电平,2A是高电平。AC_Control输出低电平,2A是低电平。好,接下来开始分析。还是由于二极管的存在,2Y直接通过二极管给4A电容充电,而必须通过限流电阻给1A电容充电。同理,为什么2Y上升为高电平,4A可以快速上升,而1A是慢速下降?为什么2Y下降为低电平,1A可以快速下降,而4A是慢速上升?
2025-06-25 10:57:16
176
原创 移植1:在Nucleo-L423KCU6上移植uart2通信
然后设置他们的中断优先级:uart2的全局中断也需要设置为0,和DMA1 channel6的全局中断一样。我猜测可能是DMA的半满中断和满中断抢占了uart2的中断.这里注意的是:DMA满中断和半满中断,只是用于告诉程序员已经搬运好100/50个数据(假设收满是100个数据),可以对这块数据进行处理。:开启uart2-rx的dma通道,用来后续实现满中断和半满中断。移植远航教育的,满中断+半满中断+空闲中断,实现大规模数据量下的稳定手法,移植过程如下。开启DMA接收后,默认开启DMA满中断和半满中断。
2025-06-16 16:27:25
150
原创 IIC学习1-应答信号
在主机写多个字节数据时,每个字节发送完成都要接收来自从机的应答信号,来确保没有发生错误。在主机接收多个字节数据时,每接收到一个字节数据时(除最后一个字节),都要发送应答信号ACK给从机。在接收最后一个字节的时候,要发送非应答信号NACK给从机。(比如此时从机在拉低SDA,由于“线与”,此时主机想SDA变为高电平就无法实现了)。今天在学习IIC时,遇到一个困惑,以为主机在读和写的时,最后一个字节都不需要应答信号,但是实际上不是的。解决:因为发送NACK的作用是告诉从机,主机不需要数据了。
2024-12-29 17:02:14
393
空空如也
Automation Studio4.8安装过程中的问题?
2021-08-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人