- 帖子
- 120
- 主题
- 79
- 精华
- 0
- 积分
- 60
- 在线时间
- 5 小时
- 注册时间
- 2010-10-13
|
stm32的功用引脚重映照和复用功用,stm32定时器
usart3模块共有5个旌旗灯号,别离为tx、rx、ck、cts和rts,从上面给出的第二张图中能够看出,重映照是对一切旌旗灯号同时有效。
有不少引脚上装备了来自多个模块的复用功用引出脚,例如本文第一张图中显现的pb10,默许复用功用就有i2c2_scl和usart3_tx两个功用,tim2重映照后,tim2_ch3也利用pb10的复用功用。 我们知道每个内置外设都有若干个输入输入引脚,普通这些引脚的输入脚位都是流动不变的,为了让设想工程师能够更好地放置引脚的走向和功用,在stm32中引入了外设引脚重映照的概念,即一个外设的引脚除了具有默许的脚位外,还能够经过设置重映照寄放器的体例,把这个外设的引脚映照到其它的脚位。上面是stm32f103xc中相关usart3引脚的摘要片段;
上图是stm32的gpio端口模块,利用复用功用时的设置装备摆设。从图中能够看出,设置装备摆设为复用输入时,该端口对应的gpio输入功用将不起感化。例如当设置装备摆设pb10对应的引脚为复用输入功用时,操作pb10对应的输入寄放器将不影响引脚上的旌旗灯号。
这5个旌旗灯号中,在使能了usart3模块后,只要tx和rx是一直与对应的引出脚相连,而其它3个旌旗灯号别离有自力的放纵位,放纵它们能否与外部引脚相连,若是法式中不利用某个旌旗灯号的功用,则能够封锁这个旌旗灯号的功用,对应的引脚能够做为其它功用的引出脚。例如,当封锁了usart3的ck、cts和rts功用并且没有重映照usart3时,pb12、pb13和pb14能够作为通用输入输入端口利用,也能够作为其它模块的复用功用引出脚。
有些模块(内置外设)的重映照功用还能够有多种挑选,上面是rm0008上相关usart3输入输入引脚的重映照功用表:
stm32中有良多内置外设的输入输入引脚都具有重映照(remap)的功用,本文对一些在利用引脚重映照时所碰着的相关成绩加以声名。
在利用引脚的复用功用时,需求寄望在软件上只能够使能一个外设模块,不然在引出脚上能够发作旌旗灯号冲突。例如,若是使能了usart3模块,同时没有对usart3停止重映照设置装备摆设,则不成以或许使能i2c2模块;同理若是需求利用i2c2模块,则不能使能usart3模块。可是若是设置装备摆设了usart3的引脚重映照,usart3的tx和rx旌旗灯号将从pc10和pc11,或pd8和pd9引出,避开了i2c2利用的pb10和pb11,这时就能够同时利用i2c2模块和usart3模块了。
上面这张图是一个外部放纵毗连的等效示狡计,它并不暗示真正的外部毗连,但能够有效地辅佐了解重映照和复用引脚的概念。图中左边引出的旌旗灯号,别离毗连到了本文第三张图的输入输入模块。
从图中还能够看出,浅显的gpio端口输入功用与复用的输入功用的设置装备摆设体例没有别离,这意味着在利用引脚的复用输入功用时,能够在这个引脚的输入寄放器上读出引脚上的旌旗灯号。例如在使能了usart3模块时,能够读gpiob_idr寄放器,取得pb11旌旗灯号线上的以后形状。
一个模块的功用引脚不论是stm32的功用引脚重映照和复用功用,stm32定时器从默许的脚位引出仍是从重映照的脚位引出,都要经过gpio端口模块完成,呼应的gpio端口必需设置装备摆设为输入(对应模块的输入功用,如usart的rx)或复用输入(对应模块的输入功用,如usart的tx),关于输入引脚,能够依照需求设置装备摆设为推挽复用输入或开漏复用输入。
stm32的功用引脚重映照和复用功用,stm32定时器,stm32按时器stm32中的良多内置外设都具有重映照的功用,比如usart、按时器、can、spi、i2c等,详细请看stm32参考手册(rm0008)和stm32数据手册。 |
|