EVB板ADC采样试验
今晚捣鼓了一下EVB板ADC单次一直采样模式,用板子上的电位器调节。代码:
#include "adc.h"
#include "gpio.h"
#include "bgr.h"
/******************************************************************************
* Local pre-processor symbols/macros ('#define')
******************************************************************************/
/******************************************************************************
* Global variable definitions (declared in header file with 'extern')
******************************************************************************/
volatile uint32_t u32AdcRestult;
/******************************************************************************
* Local type definitions ('typedef')
******************************************************************************/
/******************************************************************************
* Local function prototypes ('static')
******************************************************************************/
/******************************************************************************
* Local variable definitions ('static') *
******************************************************************************/
/*****************************************************************************
* Function implementation - global ('extern') and local ('static')
******************************************************************************/
void App_AdcPortInit(void);
void App_AdcInit(void);
void App_AdcSglCfg(void);
/**
******************************************************************************
** \briefMain function of project
**
** \return uint32_t return value, if needed
**
** This sample
**
******************************************************************************/
int32_t main(void)
{
///< ADC采样端口初始化
App_AdcPortInit();
///< ADC模块 初始化
App_AdcInit();
///< ADC 单次采样模式 配置
App_AdcSglCfg();
while(1)
{
if(TRUE == Adc_GetIrqStatus(AdcMskIrqSgl))
{
///< 获取采样值
u32AdcRestult = Adc_GetSglResult();
Adc_ClrIrqStatus(AdcMskIrqSgl);
}
}
}
///< ADC 采样端口初始化
void App_AdcPortInit(void)
{
///< 开启ADC/BGR GPIO外设时钟
Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE);
Gpio_SetAnalogMode(GpioPortC, GpioPin5); //PA00 (AIN0)
}
///< ADC模块 初始化
void App_AdcInit(void)
{
stc_adc_cfg_t stcAdcCfg;
DDL_ZERO_STRUCT(stcAdcCfg);
///< 开启ADC/BGR外设时钟
Sysctrl_SetPeripheralGate(SysctrlPeripheralAdcBgr, TRUE);
Bgr_BgrEnable(); ///< 开启BGR
///< ADC 初始化配置
stcAdcCfg.enAdcMode = AdcSglMode; ///<采样模式-单次
stcAdcCfg.enAdcClkDiv = AdcMskClkDiv1; ///<采样分频-1
stcAdcCfg.enAdcSampCycleSel = AdcMskSampCycle12Clk; ///<采样周期数-12
stcAdcCfg.enAdcRefVolSel = AdcMskRefVolSelInBgr2p5;///<参考电压选择-内部2.5V
stcAdcCfg.enAdcOpBuf = AdcMskBufDisable; ///<OP BUF配置-关
stcAdcCfg.enInRef = AdcMskInRefEnable; ///<内部参考电压使能-开
stcAdcCfg.enAdcAlign = AdcAlignRight; ///<转换结果对齐方式-右
Adc_Init(&stcAdcCfg);
}
///< ADC 单次采样模式 配置
void App_AdcSglCfg(void)
{
///< 配置单次采样通道
Adc_CfgSglChannel(AdcExInputCH15);
///< 启动单次一直采样
Adc_SGL_Always_Start();
}
/******************************************************************************
* EOF (not truncated)
******************************************************************************/
效果图:
我有一个问题。为什么采样值那么小呢?谢谢!
我这分辨率不行啊,你发的图,我啥也看不见。 键盘手没手 发表于 2019-10-31 19:18
我这分辨率不行啊,你发的图,我啥也看不见。
我告诉你吧,采样值从0到6,最小是0,最大是6. 你没有把板子上的J3短路(如下图),另外程序中还要改一下ADC转换通道为CH15。调节电位器,随着变大变小,ADC的值也在跟着变化,采的值也比较准确。
凡人8000 发表于 2019-11-1 10:47
你没有把板子上的J3短路(如下图),另外程序中还要改一下ADC转换通道为CH15。调节电位器,随着变大变小,ADC ...
谢谢!CH15已经改了。 凡人8000 发表于 2019-11-1 10:47
你没有把板子上的J3短路(如下图),另外程序中还要改一下ADC转换通道为CH15。调节电位器,随着变大变小,ADC ...
谢谢!短接J3不管用,采样值都是0XFFF.
看一下原理图吧,J3是需要短接的! D调胖子 发表于 2019-11-7 14:31
看一下原理图吧,J3是需要短接的!
我短接了,不管用。 Cjy_JDxy 发表于 2019-11-7 20:37
我短接了,不管用。
你的EVB的USB接口需要供电 eelux 发表于 2019-11-9 14:49
你的EVB的USB接口需要供电
奥,我还没有那种USB线,什么时候买一根。 各位大神看看,是这种线吗?谢谢!
Cjy_JDxy 发表于 2019-11-10 20:04
奥,我还没有那种USB线,什么时候买一根。
双11啊 Cjy_JDxy 发表于 2019-11-7 20:37
我短接了,不管用。
另外想再确认一下,硬件是是否同时短接了:
1、J3;
2、J4的(VRP和ADC-IN) 正确接了J3和J4之后,滑动变阻器有没有试着转动,看采样值变化,或者测一测ADC的IO引脚上的电压是否有变化? eelux 发表于 2019-11-11 09:21
另外想再确认一下,硬件是是否同时短接了:
1、J3;
2、J4的(VRP和ADC-IN) ...
同时短接了 martinhu 发表于 2019-11-11 09:28
正确接了J3和J4之后,滑动变阻器有没有试着转动,看采样值变化,或者测一测ADC的IO引脚上的电压是否有变化 ...
转动变阻器了。有人说需要接USB线。我还没买呢?我贴了个图,不知道是不是那一种,你帮我看看。谢谢 eelux 发表于 2019-11-11 09:19
双11啊
你看看我贴的USB线图,是不是那种USB线。谢谢!我今天买。 非常感谢楼主分享 C:\Users\wangab\Desktop\ADC 配置.jpg Cjy_JDxy 发表于 2019-11-11 10:55
你看看我贴的USB线图,是不是那种USB线。谢谢!我今天买。
看看
页:
[1]
2