重工电子论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 3812|回复: 0

两路ADC采样,控制PWM输出

[复制链接]

3

主题

4

帖子

24

积分

新手上路

Rank: 1

积分
24
QQ
发表于 2018-2-28 15:47:10 | 显示全部楼层 |阅读模式
    这两天学习了一下ADC和PWM的知识。希望设计能采样温度和制动油压力来控制电机的程序。但是原子例程只有一个通道。而我需要两路,用了PA1和PA5两个ADC端口。
在原子论坛上看到两路ADC都是AD1的不同通道的话,可以设置扫描模式来实现。但是具体怎样设置没找到有帖子。DMA暂时还没学。纠结了一天,把ADC初始化的函数一个
一个的按F12去看它的定义,发现了一线生机-----就在ADC_GetConversionValue(ADC1);函数定义的下方,有一个ADC_GetDualModeConversionValue();函数,它的作用是返回
最近一次双 ADC 模式下的转换结果,不就是我想要的吗?!于是在F1的固件库参考手册里搜索一下,发现这个双模式指的是ADC1和ADC2。而同一个端口,如果它支持ADC1,那它
一定支持ADC2。所以我就照猫画虎的把PA5写成ADC2,编译。下载。PWM一下就出来了。这也许是不用DMA和扫描模式下实现多路ADC采样的一个方法吧。附件如下,如果有
需要的小伙伴可以看看。有错误欢迎指出。

两路ADC,一个按键,输出PWMOK.zip

4.19 MB, 下载次数: 2

回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|cqutlab ( 渝ICP备15004556号

GMT+8, 2024-4-19 09:27 , Processed in 0.162213 second(s), 33 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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