求助:小弟现在使用
STM32F373RCT6这款芯片,原来使用F103的,由于IO资源使用比较紧凑,基本没什么剩余IO,所以在system_stm32f1xx.c中增加了一个函数
/******************************************************************************
* @功能简介 : 配置SWJ模式
* @参 数 : 无
* @返 回 值 : 无
*******************************************************************************/
////sta
tic void Set_DebugMode(uint32_t SWJ_Mode)
////{
//////// RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
////////
//////// AFIO->MAPR = ~AFIO_MAPR_SWJ_CFG;
//////// AFIO->MAPR |= SWJ_Mode;
////}
这样可以通过SWDJ的模式切换来释放SWD模式外的3个IO脚
但在STM32F373中,没有AFIO_MAPR这个寄存器,GPIO的复位是通过模式寄存器设置。
如果我在时钟初始化完成后加入一个函数将SWD外的3个脚PA15,PB3,PB4的相关寄存器位清零。
这个操作至少不再如F1下直接SWJ接口的模式切换设定,那F3系列在系统默认初始化的过程中,还是以SWJ(即JTAG+SWD)模式启动,在JTAG和SWD模式切换过程中会有什么隐患在里面?毕竟不再有直接用SWJ接口模式的直接设置,而去单独设置GPIO了
求路过大侠指点