-
GD32的时钟旁路模式和OSCOUT引脚重映射模式
开启GD32的时钟旁路模式,再打开OSCOUT引脚重映射模式,即PD1脚映射到该OSCOUT引脚。程序无法执行,且智能下载一次,第二次下载需要双击两次复位按键。但如果我使用内部高速时钟就PD1脚就可以成功映射到OSCOUT上,程序正常型。环境:keil5.37芯片:GD32F105RCT664脚库:HAL库希望懂的朋友解答一下。谢谢!voidGpioInit(void){__HAL_RCC_GPIOC_CLK_ENABLE();__HAL_AFIO_REMAP_PD01_ENABLE();GPIO_InitTypeDefGPIO_InitStruct={0};GPIO_InitStruct.Pin=GPIO_PIN_1;GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Pull=GPIO_NOPULL;GPIO_InitStruct.Speed=GPIO_SPEED_FREQ_LOW;HAL_GPIO_Init(GPIOD,&GPIO_InitStruct);HAL_GPIO_WritePin(GPIOD,GPIO_PIN_1,GPIO_PIN_RESET);//OUT12_PIN=H_Level控制EN12脚2#反馈信号}//PD1引脚初始化voidSystemClock_Config(void){RCC_OscInitTypeDefRCC_OscInitStruct={0};RCC_ClkInitTypeDefRCC_ClkInitStruct={0};RCC_PeriphCLKInitTypeDefPeriphClkInit={0};/**InitializestheCPU,AHBandAPBbussesclocks*///外部高速时钟:程序不能执行//RCC_OscInitStruct.OscillatorType=RCC_OSCILLATORTYPE_HSE;//RCC_OscInitStruct.HSEState=RCC_HSE_BYPASS;//RCC_OscInitStruct.HSEPredivValue=RCC_HSE_PREDIV_DIV1;//RCC_OscInitStruct.HSIState=RCC_HSI_ON;//RCC_OscInitStruct.Prediv1Source=RCC_PREDIV1_SOURCE_HSE;//RCC_OscInitStruct.PLL.PLLState=RCC_PLL_ON;//RCC_OscInitStruct.PLL.PLLSource=RCC_PLLSOURCE_HSE;//RCC_OscInitStruct.PLL.PLLMUL=RCC_PLL_MUL8;//RCC_OscInitStruct.PLL2.PLL2State=RCC_PLL_NONE;//内部高速时钟:程序正常运行RCC_OscInitStruct.OscillatorType=RCC_OSCILLATORTYPE_HSI;RCC_OscInitStruct.HSIState=RCC_HSI_ON;RCC_OscInitStruct.PLL.PLLState=RCC_PLL_ON;RCC_OscInitStruct.PLL.PLLSource=RCC_PLLSOURCE_HSI_DIV2;RCC_OscInitStruct.PLL.PLLMU
2023-01-06 3 -
GD32F105RCT6 64脚 时钟旁路模式, PD1引脚重映射
如题,我将GD32F105RCT6的外部时钟设置为旁路模式后,开启OSCOUT的重映射功能,想要将PD1映射到这个引脚上。程序下载进去后无法没跑起来,并且下次再下载程序时,需要按2次复位按键。同样的程序在STM32F105RCT6中是可以实现的。初始化代码如下望哪位朋友解答下。voidGpioInit(void){__HAL_AFIO_REMAP_PD01_ENABLE();GPIO_InitTypeDefGPIO_InitStruct={0};GPIO_InitStruct.Pin=GPIO_PIN_1;GPIO_InitStruct.Mode=GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Pull=GPIO_NOPULL;GPIO_InitStruct.Speed=GPIO_SPEED_FREQ_LOW;HAL_GPIO_Init(GPIOD,&GPIO_InitStruct);HAL_GPIO_WritePin(GPIOD,GPIO_PIN_1,GPIO_PIN_RESET);//OUT12_PIN=H_Level控制EN12脚2#反馈信号}
2023-01-04 11