3803|2

11

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

如何设置ADC参考电压? [复制链接]

ADC获取某点电压值,范围只有0~1.65v,M4的内部参考电压不是3.3v吗?
我用了 ADCReferenceSet (ADC0_BASE,ADC_REF_INT); 但是结果没有用。
M4可以接入更高的参考电压吗?

#include "stdint.h"
#include "stdbool.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "inc/hw_ints.h"
#include "driverlib/interrupt.h"
#include "driverlib/adc.h"
#include "driverlib/sysctl.h"
#include "driverlib/gpio.h"
#include "driverlib/pin_map.h"
#include "LCDDriver.h"

void Init_ADC_Detect()
{
        SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0);
        SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
        GPIOPinTypeADC(GPIO_PORTB_BASE, GPIO_PIN_4);
        ADCSequenceConfigure(ADC0_BASE, 3, ADC_TRIGGER_PROCESSOR, 0);
        ADCSequenceStepConfigure(ADC0_BASE, 3, 0, ADC_CTL_CH10 | ADC_CTL_IE | ADC_CTL_END);
        ADCSequenceEnable(ADC0_BASE, 3);
        ADCIntClear(ADC0_BASE, 3);
}

int main(void)
{
        uint32_t Average;
        uint32_t pui32ADC0Value[1];

        SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ);

        LCD_Enable();
        LCD_Init();
        LCD_ScreenClr();
       
        LCD_Draw_Chinese(1,1,0);
        LCD_Draw_Chinese(2,1,16);
        LCD_Draw_Char_8x16(':',1,32);
        LCD_Draw_Char_8x16('V',1,119);

        Init_ADC_Detect();

        while(1)
        {
            SysCtlDelay(SysCtlClockGet()/4);
                ADCProcessorTrigger(ADC0_BASE, 3);
                while(!ADCIntStatus(ADC0_BASE, 3, false))
                {}
                ADCIntClear(ADC0_BASE, 3);
                ADCSequenceDataGet(ADC0_BASE, 3, pui32ADC0Value);
                Average = (pui32ADC0Value[0] * 1650) / 4096;

                unsigned char data1[4] = {0};
                data1[0] = pui32ADC0Value[0] / 1000;
                data1[1] = (pui32ADC0Value[0] / 100) % 10;
                data1[2] = (pui32ADC0Value[0] / 10) % 10;
                data1[3] = (pui32ADC0Value[0] / 1) % 10;
                int k;
                for(k = 0; k < 4; ++k)
                {
                        LCD_Draw_Char_8x16('0' + data1[k], 3, 50 + 8 * k);
                }

                int i = 0 ;
                unsigned char data[4] = {0};
                data[0] = (Average / 1000);
                data[1] = (Average / 100) % 10;
                data[2] = (Average / 10) % 10;
                data[3] = (Average / 1) % 10;
                for(i = 0; i < 4; ++i)
                {
                        LCD_Draw_Char_8x16('.', 1, 50 + 10 * 1);
                        if(i < 1)
                        LCD_Draw_Char_8x16('0' + data[i], 1, 50 + 10 * i);
                        else
                        LCD_Draw_Char_8x16('0' + data[i], 1, 50 + 10 * (i + 1));
            }
        }
}

最新回复

TM4C123GH6PM不支持修改参考电压!可以看数据手册,参考电压端固定接在了3.3V上。。 有些其它系列芯片支持  详情 回复 发表于 2015-4-5 22:52
 
点赞 关注(1)

回复
举报

81

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
大神解决没,分享下啊
 
 

回复

164

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
TM4C123GH6PM不支持修改参考电压!可以看数据手册,参考电压端固定接在了3.3V上。。
有些其它系列芯片支持
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表