前一阵使用国民技术的N32G455芯片调试IAP升级,硬件原理使用了PB4,PB5引脚,使用复用功能;
PB4正好是一个调试口,就做了一下的配置:
GPIO_ConfigPinRemap(GPIO_RMP_SW_JTAG_SW_ENABLE, ENABLE);
结果就是使用串口助手发送,RX的buff有数据,TX的buff也有数据,串口助手就是收不到数,然后各种挠头,挠头,挠头,没办法只好问了国民的技术支持,然后给出的结果就是,使用PB4的话应该用USART的Remap
GPIO_ConfigPinRemap(GPIO_RMP3_USART2, ENABLE);
然后就用了,结果就是TX的buff的数据也没有了,怎么就用不行了呢,又是各种挠头,挠头,挠头,查了一下,是不是少了调试口的Remap,好,加上,,成了
所以在使用PB4的复用功能时,除了调试口的Remap,还要有对用外设的Remap
GPIO_ConfigPinRemap(GPIO_RMP_SW_JTAG_SW_ENABLE, ENABLE);
GPIO_ConfigPinRemap(GPIO_RMP3_USART2, ENABLE);
PS:N32G455的用户手册中的重映射功能的数字如GPIO_RMP3_USART2的RMP3时如下的位置的
所以在库函数中的各种外设RMPx,一定要对照手册,除非你已经全部记住了