• 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. }
    复制代码

           在此基础上若添加相应的数值变换,则可达到一个数字电压表的效果。
  • 相关阅读:
    (转)C# DllImport的用法
    (转)C#网络编程(异步传输字符串) Part.3
    (转)C#网络编程(订立协议和发送文件) Part.4
    C# tostring()汇总
    (转)C#网络编程(基本概念和操作) Part.1
    (转)关于数据库存储过程分页DatagridView BindingNavigator 控件的详细实现
    C# sql server 数据库备份和还原
    (转)C#网络编程(接收文件) Part.5
    2010年5月学习计划
    APUE学习笔记 Chapter 2 . Unix Standardization and Implementations
  • 原文地址:https://www.cnblogs.com/zhugeanran/p/16379943.html
Copyright © 2020-2023  润新知