打印
[ZLG-MCU]

easyarm615的ADC采样的问题

[复制链接]
2315|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
耄耄耄|  楼主 | 2008-4-10 23:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是easyarm615底板。编写程序实现如下的功能:使用adc的采样序列0,对0通道的模拟电压进行转换,转换完成后将数据存储,并点亮LED1指示数据存储完毕,然后熄灭,但是上电以后LED1一直亮,不知道原因。我用IAR,程序编好以后我点“debug“就会出现如下提示:could no find the source file:"c:cygwinhomekir chersanboxDriverlibuildDriverlib.PDL-LM3SDriverlib.testsrcadc.c",would you like to located you self?
程序如下:
#include "hw_types.h"
#include "hw_memmap.h"
#include "hw_gpio.h"
#include "hw_ints.h"
#include "hw_adc.h"
#include "sysctl.h"
#include "gpio.h"
#include "adc.h"
#include "debug.h"

#define LED1 GPIO_PIN_7
#define KEY GPIO_PIN_4
void Go2Jtag(void)//防止jtag死锁
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
GPIODirModeSet(GPIO_PORTD_BASE,KEY,GPIO_DIR_MODE_IN);
if(GPIOPinRead(GPIO_PORTD_BASE,KEY)==0)
{
while(1);
}
}
void delay(int iCount)
{
for(;iCount;iCount--)
{
};
}
unsigned long ulData;


int main(void)
{
Go2Jtag();
SysCtlClockSet(SYSCTL_SYSDIV_1|SYSCTL_USE_PLL|SYSCTL_OSC_MAIN|SYSCTL_XTAL_6MHZ);
SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC);
SysCtlADCSpeedSet(SYSCTL_ADCSPEED_125KSPS);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
GPIODirModeSet(GPIO_PORTD_BASE,LED1,GPIO_DIR_MODE_OUT);//配置LED1连接的GPIO口
ADCSequenceDisable(ADC_BASE,0);
ADCSequenceConfigure(ADC_BASE,0,ADC_TRIGGER_PROCESSOR,0);
ADCSequenceStepConfigure(ADC_BASE,0,0,ADC_CTL_CH0|ADC_CTL_END|ADC_CTL_IE);
ADCSequenceEnable(ADC_BASE,0);//使能采样序列0
while(1)
{
ADCProcessorTrigger(ADC_BASE,0);//程序触发采样序列
while((HWREG(ADC_BASE+ADC_O_X_SSFSTAT)&0x00000100));
ADCSequenceDataGet(ADC_BASE,0,&ulData);
ulData=(ulData*1000*3)/1024;
GPIOPinWrite(GPIO_PORTD_BASE,LED1,~LED1);//如果采样完成,则LED1亮
delay(200000);//延长一段时间
GPIOPinWrite(GPIO_PORTD_BASE,LED1,LED1);//熄灭LED1
}
}

 

 

相关帖子

沙发
zlgmcu| | 2008-4-11 14:01 | 只看该作者

这是驱动库安装问题,建议重新安装

请看这一贴:
相关链接:https://bbs.21ic.com/club/bbs/bbsView.asp

使用特权

评论回复
板凳
耄耄耄|  楼主 | 2008-4-11 15:03 | 只看该作者

还是不行。。。。

为什么重装过后仍然不行啊?我的E_mail是gray_1024@163.com,请您也发给我好吗?

使用特权

评论回复
地板
耄耄耄|  楼主 | 2008-4-11 15:05 | 只看该作者

程序

为什么LED1常亮?请您指教。

使用特权

评论回复
5
liujigan| | 2008-4-11 15:43 | 只看该作者

re

(1)用GPIOPadConfigSet()函数设置一下驱动电流
(2)ADCSequenceStepConfigure(ADC_BASE,0,0,ADC_CTL_CH0|ADC_CTL_END|ADC_CTL_IE);
中的ADC_CTL_IE没有用,去掉。

使用特权

评论回复
6
耄耄耄|  楼主 | 2008-4-11 16:31 | 只看该作者

......

谢谢您的帮助!可是我按照您所说的作了相应修改,LED1依然常亮,无论驱动电流设置为何值都是如此。。。。。

使用特权

评论回复
7
liujigan| | 2008-4-11 16:40 | 只看该作者

复位了吗?

要复位一下,如灯有跳线要记住短接。

使用特权

评论回复
8
耄耄耄|  楼主 | 2008-4-15 15:12 | 只看该作者

硬件复位

EasyARM615的硬件复位怎么弄啊?我昨天看了原理图,它的RST脚是直接接在高电平上的,我试着用SysCtlReset()复位所有器件,可是等了好长时间也没反应,接下来的源代码好像没有执行。我是菜鸟,基础薄弱,请您多教教我好吗?

使用特权

评论回复
9
耄耄耄|  楼主 | 2008-4-15 15:24 | 只看该作者

参考电压

EasyARM615上ADC的参考电压是多少啊?我不想用它自带的温度传感器却不知道放大器的放大倍数应选多少。

使用特权

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

本版积分规则

6

主题

30

帖子

0

粉丝