[应用相关] STM8ADON第一次置位时,IO口不能当做GPIO使用

[复制链接]
1549|6
 楼主| stormwind123 发表于 2022-3-16 15:12 | 显示全部楼层 |阅读模式
AC, IO, AD, ST, cio
1.问题
在使用stm8s207RC开发项目的时候,如果只配置ADC,但是不选通道,则默认的通道是AIN0,因为AIN0对应的引脚是PB0,技术手册中说明:当ADC模块上电后,所选通道对应的I/O口输出模块是被禁用的。所以PB0 的输出被禁用了,且为模拟输入模式。
2.解决方法
      STM8S207RC的技术手册表明,PB0端口有tiM1_CH1N、AIN0、PB0三种复用,当配置为ADC输入引脚时,对应的是通道0。

配置了ADC之后不用去配置IO输入输出模式;

       140240wfl8q98hqk8ddyuk.png
ADON需要开启两次,第一次是唤醒ADC,第二次才是真正的开始转换;

140346e55z55naz79b55yp.png
    再看看ADC_CSR寄存器的初始值,配置通道的位初始值是0,就是AIN0,即ADC通道0。
140713fwq1l8m44a50qacz.png
三、总结
使用ADC的时候要按照,配置模式-数据对齐-选择频率-唤醒ADC-配置通道-启动转换的步骤进行。如果只唤醒ADC不选通道采集,对应的IO引脚就会无法使用。




cen9ce 发表于 2022-4-13 12:08 | 显示全部楼层
感谢分享这个经验,挺好的,不过现在STM8应用不是很多了吧
su1yirg 发表于 2022-4-13 12:24 | 显示全部楼层
感觉STM8开发起来也不是很容易
g0d5xs 发表于 2022-4-13 12:36 | 显示全部楼层
还没用过STM8的ADC功能呢
w2nme1ai7 发表于 2022-4-13 12:55 | 显示全部楼层
感觉这种操作好麻烦啊,你是用STM8的库函数操作的么?
p0gon9y 发表于 2022-4-13 13:17 | 显示全部楼层
之前没感觉有这么复杂呢,感觉与STM32差不多,你这是自己用寄存器写的么?
mutable 发表于 2022-4-13 13:50 | 显示全部楼层
IO不就是GPIO么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

605

主题

3747

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部