
之前,用STM32F407的芯片做了串口usart6通讯,波特率调整到3.9M可以正常通讯,发送的数据也都对。现在换STM32F412后发现最大频率的串口波特率只能到3.1M。再上去发出的数据频率就降低到几十KHZ。 后来调试,发现在串口初始化函数里usrat6 问题一、我试着设置过RCC_PCLK2Config(RCC_HCLK_Div1);但是不起作用,也曾修改过apbclock = RCC_ClocksStatus.HCLK_Frequency;但是结果还是不对,我想问问格纹技术员大大,这个怎么处理啊,手册上说过可以达到12.5M 的速度呢。怎么可以实现呢? |
关于AN2867文档的疑问
tougfx 显示问题
F429同时使用SDRAM和SRAM
CAN数据重发
littlefs系统能读写SD卡吗?
单片机板跟上位机进行串口发收数据时,每次上位机下发指令,出现问题都是在第一条指令后,有时在单片机回发完数据后偷发0x00,怎么解?
STM32F405的ADC功耗参数不理解
STM32F405RGT6 ADC2+TIM4触发+DMA(DMA2_Stream2_CH1)+DMA中断会死机(取消中断后完全正常)
CUBEIDE1.19.0
stm32支持canfd和dma结合使用吗
当过采样选择8时,波特率达到12.5MBPS,当过采样选择16时,波特率达到6.25MBPS是没有问题的,APB2的时钟配置为100MHz.
huart6.Instance = USART6;
huart6.Init.BaudRate = 6250000;
huart6.Init.WordLength = UART_WORDLENGTH_8B;
huart6.Init.StopBits = UART_STOPBITS_1;
huart6.Init.Parity = UART_PARITY_NONE;
huart6.Init.Mode = UART_MODE_TX_RX;
huart6.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart6.Init.OverSampling = UART_OVERSAMPLING_16;
if (HAL_UART_Init(&huart6) != HAL_OK)
{
Error_Handler();
}
你可以使用CubeMx进行配置,然后添加自己的应用代码,这样比较方便而简单。你的问题可能出在时钟配置这块。