hygbeyond 发表于 2019-11-15 17:50:05

tk499时钟配置PCLK1,感觉库文件和资料由问题

       
SystemClk_HSEInit(RCC_PLLMul_20); //启动PLL时钟,12MHz*20=240MHz
RCC_PCLK1Config(RCC_HCLK_Div4);// PCLK1   60MHz资料说明软件必须保证APB1时钟频率不超过60MHz
RCC_PCLK2Config(RCC_HCLK_Div2);// PCLK2120MHz 软件必须保证APB1时钟频率不超过120MHz // 这个地方应该时写错了,应该时APB2,见资料P43

修改完成后串口打印为乱码,默认波特率为460800,修改波特率为115200,打印输出还是乱码。

#define RCC_HCLK_Div1                  ((uint32_t)0x00000000)
#define RCC_HCLK_Div2                  ((uint32_t)0x00000400)
#define RCC_HCLK_Div4                  ((uint32_t)0x00000500)
#define RCC_HCLK_Div8                  ((uint32_t)0x00000600)
#define RCC_HCLK_Div16                   ((uint32_t)0x00000700)
这个宏是8~10bit位
资料是10~12bit位

只设置PCLK2,通过串口打印RCC_ClocksStatus.PCLK2_Frequency = 120M。我没有测试PCLK2是否配置成功

这个地方由问题,解释一下。




tiky 发表于 2019-11-15 21:07:10

你看你是不是用早期的串口代码,早期的主频获取函数有问题

hygbeyond 发表于 2019-11-17 17:24:40

不是早期的库,我对了一下QSPI例程的库,也是这样。你让工程师对比一下程序和资料,程序肯定由问题

hygbeyond 发表于 2019-11-17 18:41:05


这个是资料图片

hygbeyond 发表于 2019-11-17 18:47:25

如果没有配置,默认的是0,所有怎么读都是正确的。今天按资料改的试了一下,把芯片给烧死了,不知道是不是flash芯片由问题了,怎么都没有反应了。明天去公司换一个芯片测试一下

hygbeyond 发表于 2019-11-18 10:55:26

CAN总线用的感觉用的类似SJA1000的核,BPR=64,SEG1=8, SEG2=8。 最大倍数 2*64*(8+8+3) = 2432;240MH/2432 = 98684,只能用与100K以上的波特率。如果需要更低的波特率就需要配置PCLK1的分频,或是降低主频。

tiky 发表于 2019-11-18 18:51:51

工程师测试了PPRE1及PPRE2,设置是没问题的,那个宏之前可能 没用,一直用在最高速的情况下,你这个调低速度,改了基频,那个串口的波特率函数可能要修理一下,我通知工程改改看
页: [1]
查看完整版本: tk499时钟配置PCLK1,感觉库文件和资料由问题