stm32f4有重映射么_STM32 端口复用&重映射(USART Remap)

一不小心串口接到

USART1

上了

.

因为在调程序时才发现错了

,

没得办法

,

只能通过端

口重映射来解决

.

但是以前没用过端口重映射

,

只闻其名

,

未用其身

,

所以

..

呵呵

...

只能从头去

看了

.

STM32

上有很多

I/O

口,

也有很多的内置外设想

I2C,ADC,ISP,USART

等,

为了节省

引出管脚,这些内置外设基本上是与

I/O

口共用管脚的,也就是

I/O

管脚的复用功能。但是

STM32

还有一特别之处就是:很多复用内置的外设的

I/O

引脚可以通过重映射功能,从不

同的

I/O

管脚引出,即复用功能的引脚是可通过程序改变的

.

读到这里相信大家都应该了解

了端口重映射的一些概念了

.

原理上的东西不细说了

,

大家可以看手册或者网上查

,

这方面的

资料还是很多的

.

下面说说我的调试经历

.

不知道是什么原因

PCB

制图时把串口接到

USART1

上了

,

当时也没在意

,

等我把

USART

测试程序写好烧进去硬件仿真时

,

串口给的是乱码

,

我当时就觉得奇怪

.

把程序检查了

好几遍就是查不出问题来

,

以为是硬件有问题

,

但突然想到了

STM

有复用功能

,

心想会不会是

这里有鬼

?

于是找来

datasheet

一看

,

真相大白

三个红框交汇处

.STM32F103VCT6

这个

CPU

USART1

接的是

PB6/PB7

但是上电初始

化后默认功能并非是

USART1.

所以想要用串口功能

.

必须用端口重映射

..

大家知道

,STM32

的单片机每个功能模块有自己的时钟系统

,

所以要想要调用

STM32

单片

机的功能模块时

必须先配置对应时钟

,

然后才能去操作相应的功能模块

.

端口重映射也一样

.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值