一、问题描述:
在利用官方例程来在YL-KL26Z板子上实验。方法可以看:使用KDS3.0+SDK1.2库开发YL-KL26Z(非PE)
在SPI通信时,发现波特率最大到6MHZ左右。
如下我写了一个测试程序:
上面程序我设置通信速度12MHZ,但是程序运行时,只有6M左右。
那问题出现在什么地方呢?如何修改?
二、解决办法:
1、经分析,猜想肯定是时钟配置的问题。
2、查了一下参考手册,SPI0的时钟源来源于总线时钟tBusClock。
3、那总线时钟在什么地方配置的呢?答案在board.c文件中。
4、有上面可以看到simConfig的div4设置的默认选择3分频,我们把这个改成1分频,如下图:
5、再次运行程序,可以看到SPI的时钟可以达到12MHZ了。
6、至于详细的原因, 大家可以擦看参考手册。
三、感想与收获:
1、可以修改SPI的时钟更快一些,可以在SD卡读写时速度更快。
2、我这个是通过修改官网提供的工程模版的方法实现的,当然大家可以直接用PE配置,就不存在这个问题了。
|