
最近一个项目需要低功耗,之前听说LL库效率高,于是打算将此次项目用LL库来开发,我想效率高了省CPU资源,应该也能降低功耗吧![]() 先说说在使用ADC过程中遇到的坑吧,根据我的经验用cube配置好的ADC初始代码就不用管了,需要使用ADC功能的时候只需要调用相应的使能函数将DMA相应的通道与外设使能位置位就可以工作起来了,我也这么做了,打印出来一看,2个通道都是0,尝试直接拉高,依然是0。单步调试对照寄存器,发现置位的位、清零的位都是能对上的,这是咋回事呢。实在想不通,难道我的板子坏了吗?还是用HAL再验证一下吧,一通配置,5分钟搞定,CUBE就是方便,依然是一样的操作,初始化代码不动,在外设初始化完成后调用使能函数,编译下载后发现不是0,拉高,4095,对了。看来硬件没坏,再来单步调试下,发现原来是CR寄存器的ADVREGEN位没有置位,此位置1后ADC电压调节器开启,ADCFGR2寄存器CKMODE设置不对,这个设置同步异步时钟之前用的型号还没注意有这个寄存器,先在LL库改了再编译,终于输出了2个通道正确的ADC值。这里分享一下调试完成的DEMO代码。 |
ADCdemo.rar
下载4.6 MB, 下载次数: 908
STM32如何分配原理图IO
STM32ADC过采样及几种ADC采样的处理方法
分享一个STM32L031的串口调试程序
基于STM32L051使用CubeMX生成工程文件ST系列芯片通用经验分享
基于STM32L051开始添加需要的代码经验分享
STM32L051测试I2C协议设备的添加经验分享
基于STM32L051测试Flash和EEPROM的读写
基于STM32L051串口测试与Enocean模块通讯问题
基于STM32L0的EEPROM读写经验分享
基于STM32L0 ADC使用HAL库关于校准问题经验分享
LL库果然是给高级玩家准备的
学习中
也还好,下载的CUBE库中有例程的,可以参考一下,其他资料就没有了