STMCU小助手
发布时间:2021-12-15 11:00
|
虽然可以使用DMA对数据进行传输, 但是采集传输完成,其他外设或者主线程是需要知道是否采集完成,才能使用这个数据的。 如果我们设置好了传输完成中断,就可以实现了。 在STM32F7中文参考手册中,有关于EOC的介绍:
9 N2 Y. R( ~9 T+ h EOC有以下取值:1 }- Q7 F" `( i% x& s3 s
对于我们的单个ADC通道采样,使用ADC_EOC_SEQ_CONV就可以了; 对于一组多个进行采样,可以选择单通道转换完成就进入中断ADC_EOC_SEQ_CONV,也可以选择多通道转换完成进入中断ADC_EOC_SINGLE_CONV ;/ `9 E' ]( Q- F# c 至于最后一个保留值……不小心设置了一下采集出来的数据我直呼看不懂,大家就不用去试了…… / G* Z+ U! e* x5 B3 Y! [( t; Y& b 在我们的STM32F7实现ADC等周期采集(定时器触发+DMA传输)上进行修改: 3 ^4 C( @$ V8 K9 o) Z9 y NVIC配置 不配置是没办法进行中断向量跳转的,这个不用解释。/ h, X% v. U! E/ }0 Q8 W0 L
配置EOC类型 选择转换结束引发中断的源,就前面讲的两个参数根据自己的需求设置就行了。
使能EOC中断 在启动ADC之前,我们要打开EOC中断。
然后编写中断服务函数,一个是自己需要做的事情,另一个就是调用HAL库对应的函数HAL_ADC_IRQHandler清除中断标志等操作。1 a, f3 s9 r3 ~7 h7 B: @! _ ; D" {4 i: g& a% |
# F9 P' K3 b( e% Z& T 5 Q- ~% O: U( B 0 a) h2 Q7 N4 w4 E' h |
STM32F746G-DISCO移植lvgl9.0性能基准测试
STM32F745 USART1 Bootloader启动失败排查与解决的流程分析
STM32芯片命名规则
STM32 引脚到底有多少?为什么一个引脚能当好几个用?
入门嵌入式,为什么STM32是“优选起步”?
嵌入式-单片机-STM32 EXTI中断
STM32单片机进行除零运算,为何程序不崩溃?
STM32 LL为什么比HAL高效?
STM32时钟详解
2025国庆中秋活动体验报告2——TouchGFX的UI设计
微信公众号
手机版