GD32F303VCT6 TIMER1_CH2与USART冲突,有解么

[复制链接]
2362|15
 楼主| orkfire 发表于 2024-7-18 09:47 | 显示全部楼层 |阅读模式
本帖最后由 orkfire 于 2024-7-18 09:50 编辑

现在用GD32F303遇到一个问题,PC3作为一个电池电压检测使用,使用的是ADC2-IN13,ADC2采用的是TIMER1_CH2的外部触发作为ADC的时钟。一开始单独使用ADC也没有问题。后来我需要用USART2(PB10, PB11),其中PB10正好是TIMER1_CH2的PWM输出。只要我把USART2的驱动代码打开。此PWM就直接在PB10上输出了,USART2不能正常工作。如果把ADC2关闭,USART2可以正常工作。现在遇到的问题就是PB10这个引脚如何只让他工作在USART2这个功能上,不去连接到TIMER2_CH2的PWM上。


hight1light 发表于 2024-7-23 11:35 | 显示全部楼层
分时复用是否可以呢?
suiziq 发表于 2024-7-23 12:44 | 显示全部楼层
在GD32F303微控制器中,引脚的多功能性可能导致资源冲突,特别是在共享引脚的情况下
ewyu 发表于 2024-7-23 13:48 | 显示全部楼层
在你的案例中,PB10引脚被同时配置为TIMER1_CH2的PWM输出和USART2的TX引脚,这导致了功能冲突。为了解决这个问题,你需要确保PB10引脚只用于USART2的功能,而不被TIMER1占用
hhdhy 发表于 2024-7-23 15:51 | 显示全部楼层
检查GD32F303的数据手册,找到PB10引脚的复用功能配置。通常,每个引脚都有多个复用功能选项,你需要选择正确的复用功能以匹配USART2的TX引脚
teaccch 发表于 2024-7-23 16:00 | 显示全部楼层
使用GPIO复用功能配置寄存器(如GPIO_AFSELx)来选择PB10引脚的USART2功能
yuliangren 发表于 2024-7-23 17:02 | 显示全部楼层
在配置USART2之前,确保TIMER1的PWM输出功能被禁用。这可以通过将TIMER1的通道2配置为非PWM模式来实现
清芯芯清 发表于 2024-7-23 18:15 | 显示全部楼层
清除TIMER1的CCER寄存器中与通道2相关的位,以确保通道2不被用作PWM输出
eleg34ance 发表于 2024-7-24 09:00 | 显示全部楼层
配置USART2的波特率、数据格式和其他参数确保USART2的TX引脚(PB10)被正确配置为复用功能,并且没有其他功能(如TIMER1的PWM)与之冲突
twinkhahale 发表于 2024-7-24 10:07 | 显示全部楼层
在配置完成后,使用调试工具监控PB10引脚的信号,确保它只输出USART2的TX信号,而没有PWM信号
gra22ce 发表于 2024-7-24 12:32 | 显示全部楼层
换个IO不就好了,复用就还IO基本就可以解决问题
地瓜patch 发表于 2024-7-31 21:43 | 显示全部楼层
换端口啊,端口不够用了 吗e
亚瑟 发表于 2024-7-31 22:12 | 显示全部楼层
换一个端口试试
亚瑟 发表于 2024-7-31 22:26 | 显示全部楼层
重映射到其他脚
小小蚂蚁举千斤 发表于 2024-7-31 23:17 | 显示全部楼层
单独使用没问题,添加后就有冲突了还是添加部分功能冲突导致的
csv7k1 发表于 2024-8-31 10:51 | 显示全部楼层
分时复用是否可以呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

2

帖子

0

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