一、STM8S103 管脚重映射功能
-
如图所示,我想使用这个对应关系:
PD7->TIM1_CH4;
这三个管脚默认功能为: TLI (top level hardware interrupt)
stm8s不像stm32一样可以配置GPIO就可以了;stm8s需要修改OptionBytes才可以实现管脚复用功能的重映射。
OptionBytes里的AFR2寄存器负责实现这个功能,将OPT2的AFR6变成1即可,官方数据手册介绍如下:
上边描述了将AFR寄存器的某一位置为1之后的效果;由于我需要使用 PD7->TIM1_CH4的功能,所以我需要将AFR寄存器的AFR6置为1.
二、修改OptionBytes的方法
1.通过ST官方的下载工具STVP可以直接设置,具体步骤如下:
<1>打开STVP软件,然后设置好调试工具和芯片型号;我使用的是ST-LINK,接口为SWIM,芯片型号为STM8S103K3;界面如下:
<2>将选项卡切换到OPTIONBYTE处,然后选择需要设定的AFR寄存器
<3>然后点击Progranm Current Tab,将此设置下载到stm8s中
以上是第一种方法,需要每次下载完程序后再下载一遍OptionByte,太麻烦了;下面介绍第二种方法,每次下载程序时都同步改变OptionByte设定。
2.通过IAR修改OptionBytes
<1>建立好STM8工程以后,界面如下:
<2>点击IAR菜单栏的ST-LINK->OptionBytes,将AFR6设置为激活状态,然后点击保存 ,后缀为obc
<3>然后打开工程设置窗口 Options,然后进入ST-LINK选项卡,将Use option bytes configuration file 勾选上,然后选择刚刚保存的文件,点击OK;此时就可以实现下载程序时同步更新option bytes了。