[MM32软件] MM32单片机UART不能使用问题

[复制链接]
700|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 | 显示全部楼层
是不是省略了修改后的代码?
Carina卡 发表于 2023-3-14 15:42 | 显示全部楼层
Remap这个操作是干啥的?
Estelle1999 发表于 2023-3-14 16:47 | 显示全部楼层
其实有些感觉没必要重定义,麻烦的很
Charlene沙 发表于 2023-3-14 17:52 | 显示全部楼层
之前我就有一次重定义之后没有开启AFIO时钟,怎么查程序怎么有问题,难受
Charlene沙 发表于 2023-3-14 20:40 | 显示全部楼层
一般我重新定义都没有开启remap的啊,是因为这寄存器是串口必须用的?
Betty996 发表于 2023-3-15 07:08 | 显示全部楼层
还行,重新定义之后是不是和原来的串口功能就一样了
Belle1257 发表于 2023-3-15 08:21 | 显示全部楼层
话说,开启remap之后,之前的串口就不能用了吧
Annie556 发表于 2023-3-15 09:16 | 显示全部楼层
以后还是养成个习惯吧,干什么第一步都是开启复用时钟
B1lanche 发表于 2023-3-15 09:37 | 显示全部楼层
对的,重映射功能需要使能AFIO时钟
Allison8859 发表于 2023-3-15 10:52 | 显示全部楼层
那以后重定义串口功能是不是也是可以的啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

109

主题

727

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部