STM32
直播中

史晓明

8年用户 1012经验值
私信 关注
[问答]

STM8S103F3P6怎么复用重映射ADC AIN3?

掉坑里去了,我用的芯片是stm8s103f3,要采样两组模拟电压,只好复用AIN3 映射到PD2 ,问题来了:技术手册里显示设置AFR2为1 就是映射AIN3到PD2,但是我打开stvp选中STM8S103F3,AFR2 是保留态,,,,无语了,求有经验的人帮忙解决啊

回帖(1)

李鸿洋

2024-5-10 17:32:40
首先,我们需要了解STM8S103F3P6的ADC重映射功能。在STM8S系列中,某些引脚可以被重映射到其他引脚,以便在不同的引脚上读取模拟信号。在您的情况下,您希望将AIN3映射到PD2。

根据STM8S103F3的技术手册,以下是复用重映射ADC AIN3到PD2的步骤:

1. 确保您的STM8S103F3P6芯片支持ADC重映射功能。请查阅技术手册以确认这一点。

2. 如果支持,您需要设置AFMR(Alternate Function Remap Register)寄存器。AFMR寄存器位于0x50C6地址。

3. 在AFMR寄存器中,设置AFR2位。AFR2位对应于AIN3的重映射。将AFR2设置为1,以将AIN3映射到PD2。

4. 确保其他相关的寄存器(如ADC通道选择寄存器、ADC控制寄存器等)已正确配置,以便正确读取模拟信号。

关于您提到的AFR2是保留态的问题,这可能是因为您使用的STVP(STM8 Flash Programer)软件版本不支持该功能,或者您的芯片不支持该功能。请尝试以下解决方案:

1. 确保您使用的STVP软件是最新版本。如果不是,请升级到最新版本。

2. 仔细阅读技术手册,确认您的STM8S103F3P6芯片确实支持ADC重映射功能。

3. 如果您的芯片支持该功能,但STVP软件仍然显示AFR2为保留态,您可能需要手动修改AFMR寄存器的值。您可以使用STVP软件的“Memory”视图,导航到0x50C6地址,然后手动设置AFR2位。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分