
请问一下,stm32H743使用ADC中断,采集速率是不是和中断源的分频没有关系呀,我是用的是hsi作为时钟源,因为PLL2不知为何我的芯片使用不上,然后我发现无论我怎么改adc的时钟分频它采集到的数据就是这么多。之后我改为轮询方式的话,它就会随着adc的时钟分频有所改动。是不是设置了中断之后就采集的速率就和时钟分频无关了呀? 我用的是串口接收数据,xcom2.6,每5s统计一次数据,就是统计下面的R总共接收了多少。 然后测出如下结果:
从上面的数据可以知道,当我设置为轮询方式时,调整adc分频,接收到的总数居数据有明显变化,而在我改为中断时却感觉没有什么变化,这是为什么呢? 我的中断回调函数就只是设计一个获取它的值。然后main函数就获取该值转换打印出来。 main函数里的: |
STM32G030K6Tx使用ADC+DMA进行6通道ADC采集,DMA传输错位问题。
请教SPI用LL读取的问题
STM32H7使用HAL库如何控制外置USB HS PHY进入低功耗
请问如何在下载程序时保护flash中的用户数据不被覆盖?
H723ZG开发板的下载口可以使用串口功能吗
nanoEdgeAI部署在keil5出现的问题
stm32H755BIT6 TIM1中断问题
用cubemx配置好串口后,再配置一个adc输入就会卡在HardFault_Handler里不动了。
STM32H743使用DSP进行矩阵求逆计算出现的问题
STM32H750 定时器配置
另外 printf 是阻塞式的化,你的ADC启动执行的速率就是软件运行的速率,所以调整ADC的频率,不影响你采集的速度。
建议先使用1个通道对地或VDD进行测试,或者针对某个内部某已知通道信号进行测试,把结果搞对搞稳。
再来多通道测试。这样或许更快~。
另外,你现在使用的H7系列,建议先不要开启D-Cache. 等ADC结果调试OK后再开启不迟。
谢谢,我感觉确实是这样,ADC在采样时,可能已经采了多次数据才计算打印一次(就是printf的打印速度慢于ADC采集),以及把HAL_ADC_START_IT写在了while循环里,由于我设置的单次转换,所以执行ADC转换的快慢取决于这个运行这while循环语句的速度了。