STM8S003f3单片机管脚介绍与AFR功能简介
STM8 MCU 管脚的识读与 AFR 功能简介
STM8 系列 MCU 的很多管脚往往具有复用功能,在芯片的数据手册上也有详细介
绍。但有些人,尤其新手对其标注看得不清或看得不细致,而给自己的开发工作带
来不必要的苦楚。总时不时的有人因为管脚的识读理解及 AFR 功能而在开发过程
中走些弯路。这里以一个案例来抛砖引玉似的简单介绍下。
某客户使用 8S003F3 的 SPI 做从机跟另外的主机通信。发现使用 NSS 的软件配置
功能时没问题,一切正常。而当使用 8S003 的 SPI 的 NSS 硬件管理模式时却不能
通信。
我们先看下 STM8S003f3 的管脚图:
当 8s003f3 的 SPI 片选脚 NSS 使用软件管理模式时跟外部引脚是没关系的,只有
当 NSS 使用硬件管理模式时才跟具体的管脚有关。现在情况是,当用 NSS 的软件
管理模式时通信正常,使用硬件管理模式时通信失败,客户使用的 PC7 、PC6、
PC5、PA3 四根线做 SPI 通信,其中他把 PA3 做 NSS 配置脚。
遗憾的是,他没有注意到 PA3 的 NSS 功能,并非它的默认复用功能,须通过管脚
重映射实现,此时要设置相应的 OPTION 项的 AFR 寄存器位。这里他只是简单地把该脚当做一个 GPIO 跟主机的控制口连接起来,自然此时 NSS 脚无法进入受控
状态,通信失败也就不难理解了。【下图是芯片数据手册里关于 PA3 管脚的详细
说明】
所以要想正确使用这个 NSS 脚【PA3】,就得对 AFR1 进行配置,至于怎么配置,
可以直接进行 OPTION 编程,也可借助其它工具比如 STVP 进行配置。
其实细心的人就会看到,对于上图芯片的管脚标注,有很多旁边标了的内容用方括
号【xxyz】括起来的,这点手册上也说明了。
该句意思是说,方括号【】内标注的功能乃复用功能的重映射可选项。(如果一种
复用功能被标注 2 次,他们是 2 选 1 的互斥项,
不表示同时具备某一功能。)比方以上图中的 TIM2_CH3 为例,在 PD2、PA3 两
个地方都有标注,但并不代表 2 个地方可以同时作为 TIM2_CH3,只能二选一,具体选择结合你的实际应用。关于复用功能重映射内容,在芯片的手册的可选项字
节【OPTION BYTES】那里有详细描述。
当然,因为管脚识读和复用功能的处理而出错,在 STM32 应用中也很多。不过还
好,现在 STM32CUBEMX 工具的使用,会让 STM32 用户大大减少因为管脚功能
安排失误导致困扰这方面的问题。