OpenEdv-开源电子网

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

定时器触发+ADC+DMA传输

[复制链接]

1

主题

4

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2018-2-28
在线时间
5 小时
发表于 2018-3-25 20:26:58 | 显示全部楼层 |阅读模式
1金钱
按照例子+搜索,分别编写了TIM2_CH2触发程序,ADC采样程序,DMA搬运程序;运用PWM(TIM2_CH1)跟踪一下ADC采样(在keil仿真时候可以跟踪一下);void Adc_Init(u32 *Buff)
{
        Adc_TIM2_PWM_Confing(18000);
        Adc_Config();
        Adc_DMA_Config(Buff);
}

按照这个初始化顺序,仿真端口无PWM波,各种调试,均无结果,屏蔽掉Adc_Config();就有PWM波,

void Adc_Init(u32 *Buff)
{
        Adc_Config();
        Adc_TIM2_PWM_Confing(18000);
        Adc_DMA_Config(Buff);
}

按照这个初始化顺序,端口仿真就可以测得PWM波;由此,我有一个疑问:
按照定时器触发ADC采样原理,无弄ADC是否采样,定时器程序应该始终运行才是,端口初始化完成后就有PWM波,但是没有,难道ADC初始化影响定时器? 请大侠帮忙分析一下,谢谢!@正点原子
附上ADC初始化程序
void Adc_Config(void)
        {
               
                RCC->APB2ENR|=1<<2;
                GPIOA->CRL&=0XFFFFFFF0;//PA1
               
                RCC->APB2ENR|=1<<9;//ADC1ê±&#214;óê1&#196;ü
                RCC->APB2RSTR|=1<<9;//ADC1&#184;′&#206;&#187;
                RCC->APB2RSTR&=~(1<<9);// &#184;′&#206;&#187;&#189;áê&#248;
                RCC->CFGR&=~(3<<14);//·&#214;&#198;μòò×ó&#199;&#229;á&#227;
       
                RCC->CFGR|=2<<14;// SYSCLK 6·&#214;&#198;μ
                ADC1->CR1&=0XF0FFFF;//1¤×÷&#196;£ê&#189;&#199;&#229;á&#227;
                ADC1->CR1|=0<<16;//&#182;àá¢1¤×÷&#196;£ê&#189;
                ADC1->CR1&=~(1<<8);//·&#199;é¨&#195;è&#196;£ê&#189;
                ADC1->CR2&=~(1<<1);// contéè&#214;&#195;ê&#199;·&#241;á&#172;D&#248;×a&#187;&#187;£&#172;μ¥′&#206;×a&#187;&#187;&#212;òéè&#214;&#195;&#206;a0£&#172;á&#172;D&#248;×a&#187;&#187;éè&#214;&#195;&#206;a1
               
                ADC1->CR2|=1<<8;//±íê&#190;ê1ó&#195;DMA
                ADC1->CR2&=~(7<<17);// extsel&#161;&#190;2£o0&#161;&#191;&#199;&#229;á&#227;
                ADC1->CR2|=3<<17;//011±íê&#190;T2μ&#196;cc2ê&#194;&#188;t
                ADC1->CR2|=1<<20;//EXTTRIG1&#230;&#212;òí¨μàμ&#196;ía2&#191;′¥·¢×a&#187;&#187;&#196;£ê&#189;£¨ê&#214;&#182;ˉ£&#169; 1±íê&#190;ê1ó&#195;ía2&#191;ê&#194;&#188;t&#198;&#244;&#182;ˉ×a&#187;&#187;
                ADC1->CR2&=~(1<<11);// ALIGNêy&#190;Y&#182;&#212;&#198;&#235;£¨ê&#214;&#182;ˉ£&#169;&#182;¨ò&#229;£o0£¨óò&#182;&#212;&#198;&#235;£&#169;1£¨×ó&#182;&#212;&#198;&#235;£&#169;
                ADC1->SMPR2&=~(7<<3);//
                ADC1->SMPR2|=0<<3;// 111±íê&#190;2é&#209;ù&#214;ü&#198;ú&#206;a239.5&#184;&#246;&#214;ü&#198;ú
                ADC1->SQR1&=~(0XF<<20);// SQR1±íê&#190;ADC1&#230;&#212;òDòáD&#188;&#196;′&#230;&#198;÷1£&#172;&#213;aD&#169;&#206;&#187;óéèí&#188;t&#182;¨ò&#229;&#212;ú1&#230;&#212;òí¨μà×a&#187;&#187;DòáD&#214;Dμ&#196;í¨μàêy&#196;&#191;£o0000~1111 = 1~16 ×a&#187;&#187;
                ADC1->SQR1|=0<<20;//1&#184;&#246;×a&#187;&#187;&#212;ú1&#230;&#212;òDòáD&#214;D£&#172;&#214;&#187;×a&#187;&#187;1&#230;&#212;òDòáD1
                ADC1->SQR3&=0XFFFFFFE0;
                ADC1->SQR3|=1;
                ADC1->CR2|=1<<0;
                ADC1->CR2|=1<<3;
                while(ADC1->CR2&1<<3);//
                ADC1->CR2|=1<<2;
                while(ADC1->CR2&1<<2);//
}

最佳答案

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

参考这里:http://www.openedv.com/forum.php?mod=viewthread&tid=109411&extra=page%3D1
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-3-25 20:26:59 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2018-2-28
在线时间
5 小时
 楼主| 发表于 2018-3-25 20:29:50 | 显示全部楼层
顶一下
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2018-2-28
在线时间
5 小时
 楼主| 发表于 2018-3-25 22:15:18 | 显示全部楼层
dingyixia
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2018-2-28
在线时间
5 小时
 楼主| 发表于 2018-3-27 17:22:38 | 显示全部楼层
正点原子 发表于 2018-3-25 20:26
参考这里:http://www.openedv.com/forum.php?mod=viewthread&tid=109411&extra=page%3D1

原子哥,程序调试成功了;我想请教一个问题:主函数上面声明头文件,编辑器 是不是都将头文件里的函数 都预编译了一遍?(即使你没有调用头文件里的函数)
回复

使用道具 举报

8

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2018-3-27
在线时间
28 小时
发表于 2018-8-2 17:24:40 | 显示全部楼层
正点原子 发表于 2018-3-25 20:26
参考这里:http://www.openedv.com/forum.php?mod=viewthread&tid=109411&extra=page%3D1

链接都要高级用户组才能打开了。。。。
回复

使用道具 举报

8

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
130
金钱
130
注册时间
2017-10-13
在线时间
19 小时
发表于 2018-8-7 15:57:57 | 显示全部楼层
链接进不去哭
回复

使用道具 举报

10

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
171
金钱
171
注册时间
2018-6-2
在线时间
77 小时
发表于 2019-9-27 14:43:11 | 显示全部楼层
楼主做出来了吗?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-29 06:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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