打印
[新手园地]

【第四批】第二贴——ADC采样+LED显示

[复制链接]
2811|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
s010800519|  楼主 | 2012-2-5 08:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ADC采样测试
本例程实现助学板电位器电压的AD采样,并把采样结果的高四位,送给四位LED显示。

由于自己电脑没串口,也没液晶屏,虽然在论坛上看到有网友通过USB也能实现跟电脑的通信,但自己又不会编写上位机软件,因此只能把AD结果的高四位送给led显示(我有通过NU-LINK调试,采样结果是正确的)。废话不多说,现在附上程序(我是参考BSP库的例程文件编写的)。

#include "NUC1xx.h"
#include "Driver\DrvADC.h"
#include "Driver\DrvGPIO.h"
#include "DrvSYS.h"
volatile uint8_t gu8AdcIntFlag;

/* ADC interrupt callback function */
void AdcIntCallback(uint32_t u32UserData)
{

gu8AdcIntFlag = 1;

}

/* Main function */
int main(void)
{



int32_t i32ConversionData;



DrvGPIO_InitFunction(E_FUNC_ADC1);

   

while(1)


{


DrvADC_Open(ADC_SINGLE_END, ADC_SINGLE_OP, 0x02, INTERNAL_HCLK, 1);



/* Reset the ADC interrupt indicator */


gu8AdcIntFlag = 0;



/* Enable the ADC interrupt and setup callback function */



DrvADC_EnableADCInt(AdcIntCallback, 0);

   

/* Start A/D conversion */


DrvADC_StartConvert();



/* Wait ADC interrupt */


while(gu8AdcIntFlag==0);

        

/* Disable the ADC interrupt */


DrvADC_DisableADCInt();

        

/* Get the conversion result of the specified ADC channel */


i32ConversionData = DrvADC_GetConversionData(1);



DrvGPIO_SetPortBits(E_GPA,i32ConversionData>>6);



}



}

相关帖子

沙发
suiwei| | 2012-7-16 17:31 | 只看该作者
试一下

使用特权

评论回复
板凳
xyz549040622| | 2012-7-18 20:00 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

16

帖子

1

粉丝