OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5013|回复: 1

原子哥,外部脉冲触发AD采集的问题

[复制链接]

13

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2014-5-8
在线时间
0 小时
发表于 2014-9-28 16:35:06 | 显示全部楼层 |阅读模式
5金钱
以下是外部触发AD采集的ADC配置程序:描红部分就是外部触发的配置
static void ADC_Configuration(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;
    ADC_InitTypeDef ADC_InitStructure;
    EXTI_InitTypeDef EXTI_InitStructure;

    GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource11);
    EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Event;                
    EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;//上升沿触发
    EXTI_InitStructure.EXTI_Line = EXTI_Line11; 
    EXTI_InitStructure.EXTI_LineCmd = ENABLE;
    EXTI_Init(&EXTI_InitStructure);
    SetExit11EnableDisable(ENABLE);  



    /* 使能 ADC1 and GPIOA clock */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_GPIOA, ENABLE);
RCC_ADCCLKConfig(RCC_PCLK2_Div6);              //72M/6=12,ADC最大时间不能超过14M

/* 配置PA1为模拟输入 */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOA, &GPIO_InitStructure);
/* 配置PA2为模拟输入 */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOA, &GPIO_InitStructure);

/* 配置ADC1, 不用DMA, 用软件自己触发 */
ADC_DeInit(ADC1);  //复位 ADC1,将外设  ADC1 的全部寄存器重设为缺省值 
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //ADC1工作模式:独立模式
ADC_InitStructure.ADC_ScanConvMode = ENABLE; //多通道模式
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; //连续转换
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_Ext_IT11 ;//选择外部中断线 11 事件作为转换外部触发
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //ADC1数据右对齐
ADC_InitStructure.ADC_NbrOfChannel = 2;   //顺序进行规则转换的ADC通道的数目
ADC_Init(ADC1, &ADC_InitStructure);   //根据ADC_InitStruct中指定的参数,初始化外设ADC1的寄存器

ADC_DMACmd(ADC1,ENABLE);
ADC_Cmd(ADC1, ENABLE);  //使能ADC1
ADC_ResetCalibration(ADC1); //开始复位校准
while(ADC_GetResetCalibrationStatus(ADC1)); //等待复位校准结束
ADC_StartCalibration(ADC1); //开始ADC1的校准状态
while(ADC_GetCalibrationStatus(ADC1)); //等待校准完成

ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_239Cycles5); //ADC1,ADC通道1,规则采样顺序值为1,采样时间为239.5周期
ADC_RegularChannelConfig(ADC1, ADC_Channel_2, 2, ADC_SampleTime_239Cycles5);
// ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能ADC1的软件转换启动功能
}
但编译之后出现一个错误如下:


请问原子哥,为什么会出现这个错误?这种配置方法行不行?谢谢!

最佳答案

查看完整内容[请看2#楼]

显示那个东西没定义
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-9-28 16:35:07 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-1 02:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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