打印
[MM32软件]

MM32单片机UART不能使用问题

[复制链接]
164|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
micoccd|  楼主 | 2023-2-24 15:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
UART1默认RX/TX引脚为PA9和PA10,

现重定义到PB6和PB7,
修改后程序如下,使能UART1和GPIOB时钟,初始化IO、中断、UART相关配置,使能串口中断。修改引脚使用重定义需要使用remap寄存器,需要使能GPIO_Remap_UART1,
因此要调用
GPIO_PinRemapConfig(GPIO_Remap_UART1,ENABLE);
将UART1管脚重映射。
而使用重映射功能需要使能AFIO时钟,可调用RCC_APB2PeriphClockCmd函数使能RCC_APB2Periph_AFIO,    RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);


使用特权

评论回复
沙发
Undshing| | 2023-3-9 20:14 | 只看该作者
重定义RX/TX引脚解决了,但是是什么原因引起的呢?

使用特权

评论回复
板凳
Betty1299| | 2023-3-14 14:09 | 只看该作者
重定义属实需要将复用时钟,不然是不能重定义的

使用特权

评论回复
地板
AdaMaYun| | 2023-3-14 15:22 | 只看该作者
是不是省略了修改后的代码?

使用特权

评论回复
5
Carina卡| | 2023-3-14 15:42 | 只看该作者
Remap这个操作是干啥的?

使用特权

评论回复
6
Estelle1999| | 2023-3-14 16:47 | 只看该作者
其实有些感觉没必要重定义,麻烦的很

使用特权

评论回复
7
Charlene沙| | 2023-3-14 17:52 | 只看该作者
之前我就有一次重定义之后没有开启AFIO时钟,怎么查程序怎么有问题,难受

使用特权

评论回复
8
Charlene沙| | 2023-3-14 20:40 | 只看该作者
一般我重新定义都没有开启remap的啊,是因为这寄存器是串口必须用的?

使用特权

评论回复
9
Betty996| | 2023-3-15 07:08 | 只看该作者
还行,重新定义之后是不是和原来的串口功能就一样了

使用特权

评论回复
10
Belle1257| | 2023-3-15 08:21 | 只看该作者
话说,开启remap之后,之前的串口就不能用了吧

使用特权

评论回复
11
Annie556| | 2023-3-15 09:16 | 只看该作者
以后还是养成个习惯吧,干什么第一步都是开启复用时钟

使用特权

评论回复
12
B1lanche| | 2023-3-15 09:37 | 只看该作者
对的,重映射功能需要使能AFIO时钟

使用特权

评论回复
13
Allison8859| | 2023-3-15 10:52 | 只看该作者
那以后重定义串口功能是不是也是可以的啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

92

主题

549

帖子

1

粉丝