STM32F103RET6的USART3不能使用。
//RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_AFIO , ENABLE);
GPIO_PinRemapConfig(GPIO_PartialRemap_USART3, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);
上面注释掉的代码,在STM32F103C8T6上,同时使用PB10和PB11,则USART3能通过中断能收到串口数据。
同样的代码,在STM32F103RET6上,同时使用PB10和PB11,则USART3不能通过中断收到串口数据。
但是修改后的未注释代码,使用PinRemap后,同时使用PC10和PC11,则USART3能通过中断收到串口数据。其它代码一样。不明原因,请指点。
谢谢。
楼主,手册上写的需要设置一下复用功能。 I2C2_SCL/USART3_TX(9)
9. This alternate function can be remapped by software to some other port pins (if available on the used package). For more details, refer to the Alternate function I/O and debug configuration section in the STM32F10xxx reference manual,available from the STMicroelectronics website: www.st.com. 建议安装 一个CubeMX 看看不同芯片下的端口定义,这些事就很容易 明白了。 是用的时候看看是不是复用管脚,若是复用管脚需要在使用之前初始化成你要使用的功能,否侧会出问题 安 发表于 2018-7-5 15:54
楼主,手册上写的需要设置一下复用功能。 I2C2_SCL/USART3_TX(9)
9. This alternate function can be remap ...
但是在STM32F103C8T6上就没有复用,然后可以使用。 1、检查RCC是否开启
2、检查复用功能是否开启,*_msp文件中 谢谢大家,把芯片引脚全部重拖了一下,目前使用PB10和PB11,正常了。 硬件故障会出现各种稀奇古怪的现象。
页:
[1]