RT1052 A/D数据采集

2022/6/15 23:22:51

本文主要是介绍RT1052 A/D数据采集,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

在开发板的例程中,提供了A/D数据采集的程序,使用时可调节板上的电位器来调节电压值来改变采集结果,通过串口调试工具可观察其采样值如图1所示。 <ignore_js_op>       图1 数据采集效果

      利用前面所介绍的OLED屏显示方法与A/D采集相结合,可达到图2所示的直观显示效果。 <ignore_js_op>     图2 ADC 数据采集

       实现图示效果的主程序如下:
  1. int main(void)
  2. {
  3.     adc_config_t adcConfigStrcut;
  4.     adc_channel_config_t adcChannelConfigStruct;
  5.     BOARD_ConfigMPU();
  6.     BOARD_InitPins();
  7.     BOARD_BootClockRUN();
  8.     BOARD_InitDebugConsole();
  9.     PRINTF("\r\nADC polling Example.\r\n");
  10.         OLED_Init();
  11.         OLED_Clear();
  12.         OLED_ShowString(8,0,"OK1052-C");
  13.         OLED_ShowString(8,2,"ADC TEST");
  14.         OLED_ShowString(8,4,"ADC Value:");
  15.     ADC_GetDefaultConfig(&adcConfigStrcut);
  16.     ADC_Init(DEMO_ADC_BASE, &adcConfigStrcut);
  17. #if !(defined(FSL_FEATURE_ADC_SUPPORT_HARDWARE_TRIGGER_REMOVE) && FSL_FEATURE_ADC_SUPPORT_HARDWARE_TRIGGER_REMOVE)
  18.     ADC_EnableHardwareTrigger(DEMO_ADC_BASE, false);
  19. #endif
  20.     /* Do auto hardware calibration. */
  21.     if (kStatus_Success == ADC_DoAutoCalibration(DEMO_ADC_BASE))
  22.     {
  23.         PRINTF("ADC_DoAntoCalibration() Done.\r\n");
  24.     }
  25.     else
  26.     {
  27.         PRINTF("ADC_DoAutoCalibration() Failed.\r\n");
  28.     }
  29.     /* Configure the user channel and interrupt. */
  30.     adcChannelConfigStruct.channelNumber = DEMO_ADC_USER_CHANNEL;
  31.     adcChannelConfigStruct.enableInterruptOnConversionCompleted = false;
  32.     while (1)
  33.     {
  34.         ADC_SetChannelConfig(DEMO_ADC_BASE, DEMO_ADC_CHANNEL_GROUP, &adcChannelConfigStruct);
  35.         while (0U == ADC_GetChannelStatusFlags(DEMO_ADC_BASE, DEMO_ADC_CHANNEL_GROUP))
  36.         {
  37.         }
  38.                                 OLED_ShowNum(20,6,ADC_GetChannelConversionValue(DEMO_ADC_BASE, DEMO_ADC_CHANNEL_GROUP),4,16);
  39.                                 delay_ms(500);
  40.     }
  41. }
复制代码
       在此基础上若添加相应的数值变换,则可达到一个数字电压表的效果。

这篇关于RT1052 A/D数据采集的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程