通过测试,确实可以通过降低主频至120MHz,uart5可以正常工作。如下所示:
crm_pll_config(CRM_PLL_SOURCE_HEXT_DIV, CRM_PLL_MULT_15, CRM_PLL_OUTPUT_RANGE_GT72MHZ);
在不变主频的情况下,也可以单独增大APB时钟分频因子。如下所示:
crm_apb_div_set(CRM_AHB_DIV_2);
在不变主频的情况下,还可以单独增加aph1时钟分频因子。如下所示:
crm_apb1_div_set(CRM_APB1_DIV_4);
不过根本的原因还是有点疑问:
根据参考手册:
如在fPCLK=120MHz时,在波特率为2400bps时,置于波特率寄存器的值为3125。
即DIV = 120 000 000 / 16 / 2400 = 3125.
那么在波特率为1200bps时.
DIV = 120 000 000 / 16 / 1200 = 6250.
又因为波特比率寄存器的[15:0]为分频系数,即DIV可以设置的范围为16~65535,那么6250应该在此范围内,怎么说分频因子不对呢,还有哪个地方是我没有理解的吗?
|