你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32H7实现8通道数据采集

[复制链接]
STMCU小助手 发布时间:2023-3-13 21:32
使用CubeMX工具,对DMA进行配置。

dma相关的配置比较简单,主要是adc配置相关的修改:
数据要设置成DMA循环模式ADC_CONVERSIONDATA_DMA_CIRCULAR;
溢出操作要设置为覆盖ADC_OVR_DATA_OVERWRITTEN;

主函数逻辑代码如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "adc.h"
  5. #include "dma.h"

  6. u16 buffer[128];
  7. int main(void)
  8. {
  9.     u16 adcx;
  10.     //Cache_Enable();                 //打开L1-Cache
  11.     HAL_Init();                           //初始化HAL库
  12.     Stm32_Clock_Init(200, 2, 2, 2); //设置时钟,400Mhz
  13.     delay_init(400);                        //延时初始化
  14.     uart_init(115200);                  //串口初始化
  15.     printf("hello\r\n");
  16.     MX_DMA_Init();
  17.     MX_ADC1_Init();
  18.     HAL_ADC_Start_DMA(&hadc1, (uint32_t *)buffer, 16);
  19.     while (1)
  20.     {
  21.         printf("\r\nvalue:");
  22.         for (int i = 0; i < 32; i++)
  23.         {
  24.             if (i % 8 == 0)   printf("\r\n");
  25.             printf("%d\t", buffer[i]);              //返回最近一次ADC1规则组的转换结果
  26.         }
  27.         delay_ms(500);
  28.     }
  29. }

  30. void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc)
  31. {
  32.     printf("DMA transfer complete\r\n");
  33. }
  34. void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef *hadc)
  35. {
  36.     printf("DMA Half transfer complete\r\n");
  37. }

  38. void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc)
  39. {
  40.     printf("DMA transfer error\r\n");
  41. }



  42. void Error_Handler(void)
  43. {
  44.     /* USER CODE BEGIN Error_Handler_Debug */
  45.     /* User can add his own implementation to report the HAL error return state */

  46.     /* USER CODE END Error_Handler_Debug */
  47. }

复制代码

单次转换完成的效果:

20200426112035953.png

————————————————
版权声明:小盼你最萌哒


收藏 评论0 发布时间:2023-3-13 21:32

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版