STM8 MCU管脚的识读与AFR功能简介
整理:Miler Shao QQ:332537577
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应用中也很多。不过还好,现在STM32CUBE工具的使用,会让STM32
用户大大减少因为管脚功能安排失误导致困扰这方面的问题。