[技术问答] 不同的外设模块,可以使用同一个时钟吗

[复制链接]
972|14
 楼主| 小灵通2018 发表于 2020-7-5 11:43 | 显示全部楼层 |阅读模式

  1.     /* Select HXT as the clock source of UART0 */
  2.     CLK_SetModuleClock(UART0_MODULE, CLK_CLKSEL1_UART_S_HXT, CLK_CLKDIV_UART(1));

  3.     /* Select HCLK as the clock source of SPI0 */
  4.     CLK_SetModuleClock(SPI0_MODULE, CLK_CLKSEL1_SPI0_S_HCLK, MODULE_NoMsk);

  5.     /* Enable UART peripheral clock */
  6.     CLK_EnableModuleClock(UART0_MODULE);
  7.     /* Enable SPI0 peripheral clock */
  8.     CLK_EnableModuleClock(SPI0_MODULE);
在一个例子上看到这么一个应用,使用了UART0和SPI0,那么他们可以用同一个时钟吗,这里用了不同的,一个用的HXT,一个用的KCLK,不知道可以用同一个不。。。
 楼主| 小灵通2018 发表于 2020-7-5 11:49 | 显示全部楼层
286575f014da2a4617.png
查看了手册,原来如此,如果使用PLLFOUT应该是可以的。
 楼主| 小灵通2018 发表于 2020-7-5 12:05 | 显示全部楼层
149585f01510c51fd7.png
由于串口0使用的是直接从外晶振获取的时钟,而SPI0使用的是由外部晶振没有分频直接给HCLK的,所以他们的时钟源,间接上是来自同一个地方HXT。。。外部晶振。
 楼主| 小灵通2018 发表于 2020-7-5 14:38 | 显示全部楼层
不好好推敲捋顺了,真是深奥,捋顺了,就发现挺简单的。
xinpian101 发表于 2020-7-5 15:35 | 显示全部楼层
这就看手册怎么说了,内部怎么设置。
jiekou001 发表于 2020-7-5 23:21 | 显示全部楼层
总结的好,原来如此。
jiekou001 发表于 2020-7-5 23:28 | 显示全部楼层
这些图能看晕我。
drer 发表于 2020-8-3 17:42 | 显示全部楼层
你这个应该可以
gwsan 发表于 2020-8-3 17:43 | 显示全部楼层
有的可以 有的不可以
kxsi 发表于 2020-8-3 17:43 | 显示全部楼层
具体问题具体分析吧
nawu 发表于 2020-8-3 17:43 | 显示全部楼层
看的我头晕
qcliu 发表于 2020-8-3 17:43 | 显示全部楼层
楼主的结论是什么
yiy 发表于 2020-8-3 20:32 | 显示全部楼层
qcliu 发表于 2020-8-3 17:43
楼主的结论是什么

来自同一个地方HXT
yiy 发表于 2020-8-3 20:33 | 显示全部楼层
楼主的意思是基本上可以的。
21mengnan 发表于 2020-8-3 23:58 | 显示全部楼层
当然可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则

158

主题

1732

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部