1、查看GD32的Datasheet可知PA15默认功能为JATG口的JTDI。如果不进行remap使用,即使进行IO初始化还是无法控制PA15输出的高低电平。
2、按照下面配置即可使用PA15
rcu_periph_clock_enable(RCU_GPIOA);//PA时钟使能
gpio_pin_remap_config(GPIO_SWJ_SWDPENABLE_REMAP, ENABLE); // JTAG-DP 关闭 and SW-DP 使能
gpio_init(GPIOA, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_15);
gpio_bit_reset(GPIOA, GPIO_PIN_15);
3、注意!!!
如果将GPIO_SWJ_SWDPENABLE_REMAP改为GPIO_SWJ_DISABLE_REMAP,PA15输出的电平也是可以自由控制的,但是会发现无法识别烧录器,无法再次进行烧录程序。
必须物理复位GD32然后点击keil5的load键,紧接着松开物理复位键才可以进行烧录。
gpio_pin_remap_config(GPIO_SWJ_DISABLE_REMAP, ENABLE);//下载口JDTI引脚当做普通I/O口--PA15
4、由于PA15默认为JATG的JTDI引脚,在单片机上电的瞬间PA15输出的是高电平,只有当程序运行到步骤2的时候才会将PA15电平拉低。这样就存在上电的过程中PA15输出电平来回拉高拉低的现象。如果实际的项目中,产品电源指示灯是由PA15控制,那么建议换成普通的IO口。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/m0_64812660/article/details/134954187
|