打印

启动AD转换的外部事件 求助~

[复制链接]
2838|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sean861031|  楼主 | 2008-7-28 16:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AD转换通过外部事件触发  

我在ADC_CR2,EXTSEL中选100,即通过定时器3的TRGO触发

按理每次定时器3计满产生更新就有TRGO信号输出

但是定时器3开启后AD没有反应呢

在定时器3的主模式MMS已经设置为 010 了,选择“更新”事件作为TRGO
沙发
香水城| | 2008-7-28 16:50 | 只看该作者
板凳
freefish| | 2008-7-30 23:35 | 只看该作者

我也遇到了,解决不了

遇到的问题是:用一个灯监视TIM2的CC2,开启TIM2后可在示波器上清晰地看到方波,断点跟踪也可看到寄存器的CC2IF变化,也设置了AD用TIM2_CC2启动,但是就是启动不了ADC,ADC1寄存器的STRT位一直不变化!但是只要执行一下ADC_ExternalTrigConvCmd(ADC1, ENABLE);
ADC就立即触发,根本不管TIM2的CC2有无变化!我试验了好多方法,一直是这样,如果在DMA的中断里加一条ADC_ExternalTrigConvCmd(ADC1, ENABLE);,芯片就不停的转换--DMA--DMA TC1中断--启动ADC!如果不加这条指令,仅在CONFIG过程中这条指令处触发一次,能进DMA中断,在按一下F5,就再也进不了中断了,因为ADC不会有EOC来触发DMA了.
折腾了两天,挂了白旗.不再使用DMA的中断,而是用TIM2的CC2中断,进去后立即软件触发ADC,再等待DMA的TC1,再进行数据处理.好在仅多耗费12US,我的采样频率是1200HZ,每次采样间隔833US,多耗费这点没什么.
经测试,做24点的F算法,求出SIN 和COS 部分后再乘方相加后开方算出有效值,在RAM中运行毫时28US,FLASH中运行未测试,但是应不超过50US,计算性能远超过部分DSP,推荐大家使用!

使用特权

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

本版积分规则

5

主题

7

帖子

0

粉丝