FSL_TICS_ZJJ 发表于 2014-11-17 16:10:52

【经验分享】KL系列spi主从通信之查询中断例程

本帖最后由 FSL_TICS_ZJJ 于 2014-11-18 14:23 编辑

鉴于kinetis L系列目前关于SPI的例程较少,以KL25为例,只有一个基于PE的SPI例程。所以打算以系列的形式的分享KL系列的SPI相关的例程,希望能够为大家使用kinetis L系列带来方便。 本经验分享是SPI系列中的子文档,主要介绍SPI的基本知识,KL25 SPI硬件寄存器等,然后以SPI的查询法以及中断法实现SPI通信的收发为例,讲解使用两块KL25分别用SPI0以及SPI1作为主从机实现两块板之间的通信。通信结构采用13字节帧的形式,主要实现主机数据帧发送给从机,然后再通过从机将上次从主机获得的信息返回,最终通过主机打印出接收到的信息。
本次经验分享的结构框图如下:


包括代码讲解,请查看附件,硬件连接:


最后分析测试结果:



文档以及代码请查看如下附件:



FSL_TICS_ZJJ 发表于 2014-11-17 16:17:57

不足之处,欢迎指正,同时也欢迎大家分享自己的经验!

fengyunyu 发表于 2014-11-17 16:58:14

图文并茂,学习了。

FSL_TICS_ZJJ 发表于 2014-11-17 17:05:26

fengyunyu 发表于 2014-11-17 16:58
图文并茂,学习了。

是的,这个是基础的,如果大家喜欢,以后会多推出些这样的文章。
如果基础的太简单,以后也可以多写点起点高的文章。
所以,如果你们对经验分享内容有什么建议,可以直接和我们讲。

fengyunyu 发表于 2014-11-17 17:12:01

FSL_TICS_ZJJ 发表于 2014-11-17 17:05
是的,这个是基础的,如果大家喜欢,以后会多推出些这样的文章。
如果基础的太简单,以后也可以多写点起 ...

当然是起点高的文章好些。基础系列,“手把手学会官方例程”貌似已经讲的很多了。

FSL_TICS_ZJJ 发表于 2014-11-17 17:18:23

fengyunyu 发表于 2014-11-17 17:12
当然是起点高的文章好些。基础系列,“手把手学会官方例程”貌似已经讲的很多了。 ...

好的,以后就少写基础的了。
写这个是因为SPI的驱动KL系列没有,所以加进来,之前也有很多网友遇到问题。

hhjjstu 发表于 2014-11-17 19:52:02

先收藏了

步之道 发表于 2014-11-17 21:19:33

楼主有没有对比一下查询和中断这两个方式的在实时性上的差别?同时如果使用查询方式是否太占用系统资源。

baoya1 发表于 2014-11-17 22:02:13

好的呀,以后你可以去FAE做大客户咯

lyzhangxiang 发表于 2014-11-18 08:50:07

不错最近要用spi用的kl16官方好像没看见code

FSL_TICS_ZJJ 发表于 2014-11-18 08:51:15

步之道 发表于 2014-11-17 21:19
楼主有没有对比一下查询和中断这两个方式的在实时性上的差别?同时如果使用查询方式是否太占用系统资源。 ...

是的,查询法肯定是太占用系统资源,这个只是方法之一,便于大家了解KL系列的SPI,真正项目使用,肯定不推荐查询。

秦天 发表于 2014-11-18 09:18:16

不错的分享 先收藏了

FSL_TICS_ZJJ 发表于 2014-11-18 09:27:18

秦天 发表于 2014-11-18 09:18
不错的分享 先收藏了

只供模块学习,如果是项目,就不要使用查询法。

wangpengcheng 发表于 2014-11-18 10:25:09

FSL_TICS_ZJJ 发表于 2014-11-18 09:27
只供模块学习,如果是项目,就不要使用查询法。

我看到都出到KL27了,跟KL26有多大区别?

FSL_TICS_ZJJ 发表于 2014-11-18 10:51:20

wangpengcheng 发表于 2014-11-18 10:25
我看到都出到KL27了,跟KL26有多大区别?

你好,下面两张图比较明显的说明你的问题:


flexIO模块是KL26没有的。
其实FTF的K2文档里面讲了这些:http://www.amobbs.com/thread-5582097-1-1.html?_dsign=349450b9

wangpengcheng 发表于 2014-11-18 10:56:54

FSL_TICS_ZJJ 发表于 2014-11-18 10:51
你好,下面两张图比较明显的说明你的问题:




看你图好像27没有26功能强啊,但是价格怎么还高几毛钱啊?

步之道 发表于 2014-11-18 12:24:02

wangpengcheng 发表于 2014-11-18 10:56
看你图好像27没有26功能强啊,但是价格怎么还高几毛钱啊?

确实,感觉26更有性价比,难道27有什么天赋异禀,我们没看出来,比如抗干扰?

wangpengcheng 发表于 2014-11-18 12:39:58

步之道 发表于 2014-11-18 12:24
确实,感觉26更有性价比,难道27有什么天赋异禀,我们没看出来,比如抗干扰? ...

天赋异禀?{:titter:}

Henjay724 发表于 2014-11-18 12:45:59

FSL_TICS_ZJJ 发表于 2014-11-18 14:10:30

wangpengcheng 发表于 2014-11-18 10:56
看你图好像27没有26功能强啊,但是价格怎么还高几毛钱啊?

KL27是K2系列的芯片,
多了ROM bootloader,flexIO模块

FSL_TICS_ZJJ 发表于 2014-11-18 14:16:23

Henjay724 发表于 2014-11-18 12:45
注意,SPI通信数据线不需交叉
SPI master MOSI -> 接SPI slave MOSI
SPI master MISO -> 接SPI slave MISO ...

不好意思,图画错了,谢谢提醒,现在就改过了。

李程宏 发表于 2014-11-18 15:15:52

谢谢分享~mark

dpzc1234 发表于 2014-11-18 15:25:05

标注一下,以后有用

FSL_TICS_ZJJ 发表于 2014-11-18 15:48:37

wangpengcheng 发表于 2014-11-18 10:56
看你图好像27没有26功能强啊,但是价格怎么还高几毛钱啊?

主要看自己的选择,其实KL27不是KL26的升级版,它是K2系列的,确实有些模块相对KL26少了些,但是又添加了很多的功能,主要还看自己的选择。

The Kinetis KL43/KL33/KL27/KL17 MC
Us have added these features:
• Lite version of the multipurpose
clock generator m
odule (MCG Lite)
• Voltage reference module (VREFV1)
• Flexible I/O module (FlexIO)
• Low power UART module (LPUART)
The KL43/KL33/KL27/KL17 MCUs also include ROM
memory with Kinetis bootloader implemented.
These modules or features are not available on th
e KLx6/KL34 MCUs. The following sections give an
overview of the features
of these modules. Applicati
ons able to take advantage
of these new modules will
require software changes, a
nd in some cases hardware
changes, to take advantage of the new functionality.

wangpengcheng 发表于 2014-11-18 16:26:10

FSL_TICS_ZJJ 发表于 2014-11-18 14:10
KL27是K2系列的芯片,
多了ROM bootloader,flexIO模块

明白了,呵呵!谢谢啊,就KL系列的SPI接口没有K系列的强大!价格倒是挺合适的!

FSL_TICS_ZJJ 发表于 2014-11-18 16:29:55

wangpengcheng 发表于 2014-11-18 16:26
明白了,呵呵!谢谢啊,就KL系列的SPI接口没有K系列的强大!价格倒是挺合适的! ...

是的,K系列的SPI要比KL系列的SPI模块强大很多。

wangpengcheng 发表于 2014-11-18 16:32:53

FSL_TICS_ZJJ 发表于 2014-11-18 16:29
是的,K系列的SPI要比KL系列的SPI模块强大很多。

呵呵,为了感谢那段时间你的帮忙,我还是想送你一个我做的烧录器!无以为谢啊!
页: [1]
查看完整版本: 【经验分享】KL系列spi主从通信之查询中断例程