[AT32F423]【AT-START-F423测评】+ADC

一般来说,ADC(模数转换器)是一种电子设备,它可以将模拟信号转换为数字信号。在许多应用中,这使得我们能够使用数字电子设备处理和解析模拟信号。
使用ADC通常包括以下步骤:
  • 确定ADC的规格和性能:这包括确定ADC的分辨率(它能够分辨的最小电压差异)、转换速度(它能够多快地完成模拟到数字的转换)以及它的电源要求。
  • 选择一个适合ADC的电路:这可能包括一个适合的滤波器以减少信号噪声,以及一个适当的电源以提供稳定的电压。
  • 连接ADC:将ADC连接到需要转换的模拟信号源,并按照ADC的数据手册进行正确连接。
  • 编程ADC:根据需要设置ADC的参数,采样率、分辨率等。
  • 测试和验证:在完成设置后,对ADC进行测试以确保它能够正确地转换信号,并且结果符合预期。




ADC使用:
 


ADC特性精度连接图:
 


相关代码:

复制
 adc_common_config_type adc_common_struct;

  adc_base_config_type adc_base_struct;

  crm_periph_clock_enable(CRM_ADC1_PERIPH_CLOCK, TRUE);

  nvic_irq_enable(ADC1_IRQn, 0, 0);

  crm_adc_clock_select(CRM_ADC_CLOCK_SOURCE_HCLK);

  

  adc_common_default_para_init(&adc_common_struct);





  /* config division,adcclk is division by hclk */

  adc_common_struct.div = ADC_HCLK_DIV_4;

  adc_common_struct.tempervintrv_state = TRUE;

  adc_common_config(&adc_common_struct);

  adc_base_default_para_init(&adc_base_struct);

  adc_base_struct.sequence_mode = FALSE;

  adc_base_struct.repeat_mode = FALSE;

  adc_base_struct.data_align = ADC_RIGHT_ALIGNMENT;

  adc_base_struct.ordinary_channel_length = 1;

  adc_base_config(ADC1, &adc_base_struct);

  adc_resolution_set(ADC1, ADC_RESOLUTION_12B);



  adc_ordinary_channel_set(ADC1, ADC_CHANNEL_16, 1, ADC_SAMPLETIME_640_5);



  adc_ordinary_conversion_trigger_set(ADC1, ADC_ORDINARY_TRIG_TMR1CH1, ADC_ORDINARY_TRIG_EDGE_NONE);



  adc_dma_mode_enable(ADC1, TRUE);



  adc_dma_request_repeat_enable(ADC1, TRUE);



  adc_interrupt_enable(ADC1, ADC_OCCO_INT, TRUE);



  adc_enable(ADC1, TRUE);

  while(adc_flag_get(ADC1, ADC_RDY_FLAG) == RESET);



  adc_calibration_init(ADC1);

  while(adc_calibration_init_status_get(ADC1));

  adc_calibration_start(ADC1);

  while(adc_calibration_status_get(ADC1));

 adc_ordinary_software_trigger_enable(ADC1, TRUE);

打印出温度

打印出结果:
 


---------------------
作者:meiyaolei
链接:https://bbs.21ic.com/icview-3338210-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值