你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32L071RBT6 LL库下ADC使用DMA例程分享

[复制链接]
海迹天涯 发布时间:2018-12-5 17:38
      最近一个项目需要低功耗,之前听说LL库效率高,于是打算将此次项目用LL库来开发,我想效率高了省CPU资源,应该也能降低功耗吧于是就这么用上了。不过在使用的过程中发现LL库资料好少,开发过程中很多问题都要一边啃代码一边对照DATASHEET。虽然进度慢了一点,不过感觉一边做项目一边学习点新知识也挺充实的。
     先说说在使用ADC过程中遇到的坑吧,根据我的经验用cube配置好的ADC初始代码就不用管了,需要使用ADC功能的时候只需要调用相应的使能函数将DMA相应的通道与外设使能位置位就可以工作起来了,我也这么做了,打印出来一看,2个通道都是0,尝试直接拉高,依然是0。单步调试对照寄存器,发现置位的位、清零的位都是能对上的,这是咋回事呢。实在想不通,难道我的板子坏了吗?还是用HAL再验证一下吧,一通配置,5分钟搞定,CUBE就是方便,依然是一样的操作,初始化代码不动,在外设初始化完成后调用使能函数,编译下载后发现不是0,拉高,4095,对了。看来硬件没坏,再来单步调试下,发现原来是CR寄存器的ADVREGEN位没有置位,此位置1后ADC电压调节器开启,ADCFGR2寄存器CKMODE设置不对,这个设置同步异步时钟之前用的型号还没注意有这个寄存器,先在LL库改了再编译,终于输出了2个通道正确的ADC值。这里分享一下调试完成的DEMO代码。
@7CZ~7R5{LD@Y%MT2YVZ184.png

ADCdemo.rar

下载

4.6 MB, 下载次数: 908

评分

参与人数 1 ST金币 +20 收起 理由
STMCU + 20

查看全部评分

收藏 1 评论13 发布时间:2018-12-5 17:38

举报

13个回答
海迹天涯 回答时间:2018-12-5 17:41:46
补一张图,ADC设置
1544002877(1).jpg
五哥1 回答时间:2018-12-5 21:59:30
LL库的太少了,恭喜你有了进步
奏奏奏 回答时间:2018-12-6 09:37:09
哇,对比之下,HAL库用起来简单多了。
LL库果然是给高级玩家准备的
海迹天涯 回答时间:2018-12-6 10:58:22
五哥1 发表于 2018-12-5 21:59
LL库的太少了,恭喜你有了进步

学习中
海迹天涯 回答时间:2018-12-6 10:59:45
奏奏奏 发表于 2018-12-6 09:37
哇,对比之下,HAL库用起来简单多了。
LL库果然是给高级玩家准备的

也还好,下载的CUBE库中有例程的,可以参考一下,其他资料就没有了
shinyzhuo 回答时间:2019-1-30 10:15:30
大佬可以写一份HAL库的嘛.....
大山里的小豹子 回答时间:2019-4-10 15:48:22
大神,请问一下,你是怎么修改的LL库文件?感谢!
大山里的小豹子 回答时间:2019-4-10 18:47:16
大神,请问一下,你修改了LL库哪些地方呀?
翔2018 回答时间:2020-1-15 15:45:46
多谢了,学习了
稀饭放姜 回答时间:2020-4-26 18:41:15
谢谢最近刚好配置这个ADC的DMA
jasheri 回答时间:2020-5-6 10:35:56
不知道有没有尝试过使用LL库的ADC+DMA采集数据,使用keil优化等级为0时正常,使用优化等级>0时,出现错误,通过DEBUG去看代码,发现DMA初始化部分和部分ADC初始化语句被优化掉了。以上问题可以探讨一下
慢慢散步的蜗牛 回答时间:2020-10-16 23:18:12
收下了,谢谢楼主
雷鸣 回答时间:2021-2-19 11:48:49
多谢了,学习了

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版