查看: 1018|回复: 0

[温湿度] [MAPS-KS22 试用]ADC采集及芯片内部温度采集

[复制链接]
  • TA的每日心情

    2016-10-20 09:45
  • 签到天数: 1 天

    [LV.1]初来乍到

    80

    主题

    1038

    帖子

    5

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    2223
    最后登录
    2023-11-20
    发表于 2022-3-17 12:45:42 | 显示全部楼层 |阅读模式
    1、硬件分析
    MAPS DOCK板载了两路电位器的AD接口,分别连接到ADC0_DP0和DM0上!原理图


    参考KS22的参考手册,使用单端模式,DP0 - SE0 DM0 - SE19 内部温度 SE26


    内部温度计算参考数据手册中ADC的说明



    2、软件配置
    使用超核库进行快速配置,采用单端16位ADC
    1. ADC_QuickInit(ADC0_SE26_TEMP, kADC_SingleDIff16);
    2.    ADC_QuickInit(ADC0_SE0_DP0, kADC_SingleDIff16);
    3.    ADC_QuickInit(ADC0_SE19_DM0, kADC_SingleDIff16);
    复制代码
    AD值读取
    1. vtemp = ((float)ADC_QuickReadValue(ADC0_SE26_TEMP)/65536)*3.3;
    2.         //以下程序为温度数据转换
    3.         if(vtemp >= 0.716)
    4.         {
    5.             temp = (vtemp-0.716)/.00162;
    6.         }
    7.         else
    8.         {
    9.             temp = (vtemp-0.706)/.00155;
    10.         }
    11.         temp=25 - temp;

    12.       sprintf(txt ,"Tempature:%.3fC", temp);
    13.       TFT_ShowString(30,130,txt);
    14.    
    15.       vtemp = ((float)ADC_QuickReadValue(ADC0_SE19_DM0)/65536)*3.3;
    16.       sprintf(txt ,"ADC19_Volage:%.3f", vtemp);
    17.       TFT_ShowString(30,150,txt);
    18.       
    19.       vtemp = ((float)ADC_QuickReadValue(ADC0_SE0_DP0)/65536)*3.3;
    20.       sprintf(txt ,"ADC0_Volage:%.3f", vtemp);
    21.       TFT_ShowString(30,180,txt);
    复制代码



    最后Debug:

    工程:



    来源: [MAPS-KS22 试用]ADC采集及芯片内部温度采集
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-5-7 19:30 , Processed in 0.098668 second(s), 17 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表