|
使用STM32H735DK的12bit精度的ADC3进行模拟信号采样,配置ADC3在12bit精度下,由TIM1的Trigger Output Event进行触发采样,由DMA将采样结果搬运到内存。在之前的lwip示例程序的基础上添加ADC3采样。 1、配置ADC3H7xx系类的数据手册DataSheet中,12bit-ADC的最大参考时钟频率,以及不同进度下的最大采样率。
参考手册中,可以找到计算不同SMP配置下的转换时间计算,用来确定该配置下可以达到的最高采样速率。
时钟配置中,设置PLL2P的分频和倍频系数,设置ADC外设的时钟源。
设置ADC3的配置参数,设置DMA连续采样请求,DMA搬运数据采用缓存区循环模式,避免因为超出缓存区造成内存数据改写导致程序崩溃。触发源选择Timer1 Trigger Output Event。
2、配置TIM1ADC3的采样由Timer1 Trigger Output Event驱动,Timer1的触发频率也就是ADC3的采样速率SMP。设置Timer1以10kHz进行触发,实现ADC3以10kHz的采样率采集模拟信号。 通过查找手册可以确定TIM1挂在在APB2总线上,以及如何计算TIM1在采用内部时钟时的时钟频率。
设置TIM1采用内部时钟,Channel1设置为输出比较模式,并设置相应的参数,实现10kHz的输出触发频率。
3、MPU配置
4、代码添加定义用于接收DMA数据的缓存区
main函数中,在完成外设初始化后,启动ADC DMA采样以及TIM1。
烧录程序到开发板,在现场表达式中对
|
【STM32H735DK测评】Ethernet+lwip DHCP获取IP地址
STM32H743基于CubeMx5.0配置手册
【STM32H735G-DK测评】lvgl移植
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
【福利三:逢7发帖赢大礼】使用MPU6050模块、img_dsc、img_btn机制实现一些简单有趣的动画效果
【福利三:逢7发帖赢大礼】使用arc弧形拉条控件控制PWM舵机及使用SPI3接口操作NRF24L01模块进行无线通信
【福利三:逢7发帖赢大礼】调试nucleo-WBA65RI工程测试样板的一些心得
【福利三:逢7发帖赢大礼】lv_timer和BME680实现温度、湿度、气压数据读取
【福利三:逢7发帖赢大礼】成功利用STM32H743VI片内SRAM12和DTCM空间(完全胜利)
【福利三:逢7发帖赢大礼】想要充分利用STM32H743VI片内的RAM空间(但并不顺利)
微信公众号
手机版