本帖最后由 lqs0905 于 2019-4-2 17:04 编辑 LL库里的例程1.7里的LL例程\STM32Cube_FW_F1_V1.7.0\Projects\STM32F103RB-Nucleo\Examples_LL\USART\USART_Communication_TxRx_DMA下面代码有BUG /* Configure Rx Pin as : Alternate function, High Speed, Push pull, Pull up */ LL_GPIO_SetPinMode(GPIOA, LL_GPIO_PIN_3, LL_GPIO_MODE_ALTERNATE); LL_GPIO_SetPinSpeed(GPIOA, LL_GPIO_PIN_3, LL_GPIO_SPEED_FREQ_HIGH); LL_GPIO_SetPinOutputType(GPIOA, LL_GPIO_PIN_3, LL_GPIO_OUTPUT_PUSHPULL); LL_GPIO_SetPinPull(GPIOA, LL_GPIO_PIN_3, LL_GPIO_PULL_UP); 例程还希望官方好好测试一下,如果是新手用这种有BUG的例程,估计很难发现问题。 还有这个看看是不是BUG void SystemClock_Config(void) { /* Set FLASH latency */ LL_FLASH_SetLatency(LL_FLASH_LATENCY_2); /* Enable HSE oscillator */ LL_RCC_HSE_EnableBypass(); LL_RCC_HSE_Enable(); while(LL_RCC_HSE_IsReady() != 1) { }; |
这个例程是不能用的,我实测的。别的能运行的例程是没有带OUTPUTTYPE
这是资料手册上写的
HSEBYP:外部高速时钟旁路 (External high-speed clock bypass)
在调试模式下由软件置’1’或清零来旁路外部晶体振荡器。只有在外部4-16MHz振荡器关闭的情
况下,才能写入该位。
0:外部4-16MHz振荡器没有旁路;
1:外部4-16MHz外部晶体振荡器被旁路。