打印
[技术问答]

M451系列,ADC转换完成可以触发什么中断?

[复制链接]
1219|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
libinskk|  楼主 | 2019-1-22 11:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
M451系列,ADC转换完成可以触发什么中断?多通道转换如何识别是哪个通道触发了完成中断?
沙发
yiyigirl2014| | 2019-1-22 14:57 | 只看该作者
库函数提供了两个跟转换进程相关的中断:转换开始中断和转换结束中断

使用特权

评论回复
板凳
yiyigirl2014| | 2019-1-22 15:14 | 只看该作者
void ADC00_IRQHandler(void)
{
    g_u32AdcIntFlag = 1;
    EADC_CLR_INT_FLAG(EADC, 0x1);      /* Clear the A/D ADINT0 interrupt flag */
}

在中断里判断是哪个

使用特权

评论回复
地板
yiyigirl2014| | 2019-1-22 15:15 | 只看该作者
            /* Enable the sample module 7 interrupt */
            EADC_ENABLE_INT(EADC, 0x1);//Enable sample module A/D ADINT0 interrupt.
            EADC_ENABLE_SAMPLE_MODULE_INT(EADC, 0, (0x1 << 7));//Enable sample module 7 interrupt.
            NVIC_EnableIRQ(ADC00_IRQn);

比如有个例子中使能ADC中断,使能采样模块中断。。。

使用特权

评论回复
5
libinskk|  楼主 | 2019-1-22 15:50 | 只看该作者
ADINT0 interrupt,我可以允许8个ADC都用它吗?还是有一些必须用ADINT1?

使用特权

评论回复
6
libinskk|  楼主 | 2019-1-22 15:51 | 只看该作者
ADC00_IRQHandler是采样结果中断吧?开始中断是哪一个?

使用特权

评论回复
7
jiekou001| | 2019-1-22 17:25 | 只看该作者
libinskk 发表于 2019-1-22 15:51
ADC00_IRQHandler是采样结果中断吧?开始中断是哪一个?

  * @Details The A/D converter generates ADIFn (EADC_STATUS2[3:0], n=0~3) at the start of conversion.
  */
#define EADC_ENABLE_INT_POSITION(eadc, u32ModuleNum) ((eadc)->SCTL[(u32ModuleNum)] |= EADC_SCTL_INTPOS_Msk)
是不是这个?

使用特权

评论回复
8
mintspring| | 2019-1-22 23:38 | 只看该作者
看你选的ADC通道属于哪个。手册上应该有说明。

使用特权

评论回复
9
jasontu| | 2019-1-23 08:30 | 只看该作者
eadc只有一個sar adc去作取樣,如果你有開多通道,可以去查看adc vaild的bit,表示當前資料是已轉換完成的

使用特权

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

本版积分规则

35

主题

73

帖子

1

粉丝