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