ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

RT1052 A/D数据采集

2022-06-15 22:05:10  阅读:221  来源: 互联网

标签:adcChannelConfigStruct DEMO RT1052 采集 OLED BASE ADC 数据 BOARD


在开发板的例程中,提供了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. }
复制代码
       在此基础上若添加相应的数值变换,则可达到一个数字电压表的效果。

标签:adcChannelConfigStruct,DEMO,RT1052,采集,OLED,BASE,ADC,数据,BOARD
来源: https://www.cnblogs.com/zhugeanran/p/16379943.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有