找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7858|回复: 0
打印 上一主题 下一主题
收起左侧

STM32中有脚位少又带USB或CAN的芯片吗?

[复制链接]
跳转到指定楼层
楼主
ID:98618 发表于 2016-2-21 13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本文作者:Miler Shao
    STM32家族中有脚位少又带USB或CAN功能的芯片吗?答案是肯定的。

    目前STM32家族9大系列中的STM32F0系列中就有20脚并带USB和CAN外设模块的芯片,他们是STM32F042Fx或STM32F070Fx [x识具体料号而定]。 


    刚好最近有人询问希望从STM32芯片中挑一款脚位少且带USB设备功能的芯片,为其推荐了STM32F042F6P6。 当使用STM32CUBEMx去尝试对STM32F042F6P6做管脚配置定义时,突然发现有点不对劲!左边的外设管脚配置栏里的USB灰灰如也,呈无效状态。数据手册有误还是STM32CUBEMX配置工具不健全?这种情况下,优先研读数据手册为准。打开其数据手册,手册上赫然写着各类片上资源,USB模块就是其中之一。


          数据手册里的管脚图如下:

    从管脚图上不难看出第17、18脚的PA9/PA10与PA11/PA12的管脚安排定义的颇为别具一格。结合管脚图下方的那句说明与管脚描述,我们可以知晓,对于20脚的SMT32F042来讲,第17、18脚的默认就是PA9/PA10,可以复用为表格中标明的相关外设功能脚,但不能作为其它额外功能脚,比方USB端口。如果通过SYSCFG控制器进行相关配置,可以将第17、18脚的功能重映射为PA11、PA12,并可复用为表格中标明的其它外设功能脚,也可以作为USB的端口的额外功能脚。

    看到这里我们基本明白了刚才在STM32CUBEMX配置那里看不到有效的USB外设的原因,很可能是缺少SYSCFG控制器的相关配置。回到STM32CUBEMX再看看。在PIN CONFIG栏的SYS位置,点开即可看到关于PA11/12代替PA9/10的选项,勾选后立即看道另外一番情景。USB外设也由灰色无效状态转为有效状态,然后可以继续做USB相关配置的勾选。


    显然,这颗小小20脚芯片是支持USB FS设备功能的,注意它支持DEVICE功能,只做从机,不能做主机。

    前面还提到STM32F042F6P6也支持CAN功能,在配置时我们不难发现,开启了USB就没法同时开启CAN,反之亦然。这不难理解,毕竟有时鱼和熊掌很难兼得。

    如果要配置CAN功能,同样也得在SYSCFG外设那里要先做上面提过的第17、18脚的重映射操作,否则没法做CAN的配置

    STM32的管脚复用是其一大特色,灵活可调的特性给工程应用带来极大方便的同时,往往也会给初次使用者带来些许难度或困惑。幸好ST官方出品了STM32CUBEMX图形配置工具,可以解放很多研究手册的工作量。不过在使用CUBEMX配置遇到疑惑时,还请回头看看数据手册找原因或做确认。

?最后顺便提下基于STM32F0系列MCU开发的三个参考软件代码库:

STM32Snippets:基于寄存器访问级的STM32芯片外设应用的示例代码集合。对于希望兼顾程序容量和性能最优化的用户来说是最佳选择。对于那些之前从事8位 MCU开发而想过渡到32位MCU应用的用户来说,也是个不错的选择。STM32F0 MCU参考手册中书写了许多STM32Snippets F0示例代码,可以帮助理解文字描述,非常值得一读。

 Standard Peripheral Library:即标准外设库,估计很多人都不陌生了。基于各STM32系列的外设操作的通用函数集合,尤其在STM32系列内部可以非常方便地实现移植。

 STM32Cube嵌入式软件库:拓展和强化了STM32产品各系列间实现可移植的通用性。除了标准库具有的外设操作函数库外,还集成了大量中间件函数库与参考工程例程,比如FATFS,RTOS,USB,EMWIN等应用的软件应用套件。

    当然了,上面三种参考代码库可以认为是属于不同风格、不同量级的产品,最终选择哪一款结合你自己的工程项目需求和个人偏好即可。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表