12
返回列表 发新帖
楼主: zsltx

[其他] SPI 报错

[复制链接]
  • TA的每日心情
    奋斗
    2016-12-16 15:24
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    12

    主题

    61

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    272
    最后登录
    2018-1-24
     楼主| 发表于 2018-1-2 14:38:37 | 显示全部楼层
    小恩GG 发表于 2018-1-2 10:51
    楼主你好!
    顺便告诉我下,你主机的CLK频率多少?发送的数据是多少,我看我这边复现下。 ...

    clk是15M,附件是自己写的一个k64的master,你可以测试下
    master.zip (7.52 MB, 下载次数: 6)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24882
    最后登录
    2025-7-20
    发表于 2018-1-2 16:04:46 | 显示全部楼层
    zsltx 发表于 2018-1-2 14:38
    clk是15M,附件是自己写的一个k64的master,你可以测试下

    15Mhz已经是从机的极限了,难怪你这边会出问题。
    这么高的频率已经不适合用SDK代码了,因为SDK代码还是比较冗余的,API调的比较多,调用函数都是要耗费时间的。
    64.jpg
    你的应用是否一定要工作在SPI从机的最大值?建议你先把CLK降低,比如1M,先把从机调通了,再慢慢加主机SPI CLK频率,然后慢慢调整从机的代码。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-12-16 15:24
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    12

    主题

    61

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    272
    最后登录
    2018-1-24
     楼主| 发表于 2018-1-2 17:30:11 | 显示全部楼层
    小恩GG 发表于 2018-1-2 16:04
    15Mhz已经是从机的极限了,难怪你这边会出问题。
    这么高的频率已经不适合用SDK代码了,因为SDK代码还是比 ...

    那我应该怎么操作才不耗时尼,如果软件模拟的话速率能否更上,15M是要求,无法更改,另外我从机怎么检测数据传输完,这样我才要拉高从机的GPIO,防止下一帧数据又过来,按照下面这样写通过示波器看GPIO很早就拉高了,怎么准确的检测在时钟的最后一个有效采集沿拉高这个gpio

    //GPIO拉低,通知主机开始传输数据
    GPIO_ClearPinsOutput(GPIOB, 1U << nRF_OUT_S_PIN);

    //从机传输数据               
    SPI2_Slave_Transfer(slaveTxData,slaveRxData,(sizeof(slaveRxData)/sizeof(slaveRxData[0])));

    //GPIO拉高,数据传送完成,
    GPIO_SetPinsOutput(GPIOB, 1U << nRF_OUT_S_PIN);[/code]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24882
    最后登录
    2025-7-20
    发表于 2018-1-3 11:06:32 | 显示全部楼层
    zsltx 发表于 2018-1-2 17:30
    那我应该怎么操作才不耗时尼,如果软件模拟的话速率能否更上,15M是要求,无法更改,另外我从机怎么检测 ...

    我待会测试下具体情况,迟点回复你,还请耐心等待下。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-12-16 15:24
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    12

    主题

    61

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    272
    最后登录
    2018-1-24
     楼主| 发表于 2018-1-5 09:10:24 | 显示全部楼层
    小恩GG 发表于 2018-1-3 11:06
    我待会测试下具体情况,迟点回复你,还请耐心等待下。

    小恩测试的怎么样啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24882
    最后登录
    2025-7-20
    发表于 2018-1-5 17:11:37 | 显示全部楼层
    楼主你好!实在不好意思,这几天手里客户太多了 。
    刚刚帮你看了下你的master和slave工程,我这边编译下来有很多的错误。
    所以不知道你是基于什么代码,请给出如何消除你工程错误的方法。
    或者,你直接把你整个工程打包,太大了没有关系,你可以把其他的没关系的工程,文档统统删掉,然后上传,这样可以节约些时间。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-12-16 15:24
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    12

    主题

    61

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    272
    最后登录
    2018-1-24
     楼主| 发表于 2018-1-6 14:08:13 | 显示全部楼层
    小恩GG 发表于 2018-1-5 17:11
    楼主你好!实在不好意思,这几天手里客户太多了 。
    刚刚帮你看了下你的master和slave工程,我这边编译下来 ...

    我的开发环境是keil mdk 5 ,我发给你的是我这边编译没问题的啊。你需要把ksdk2.1复制到每个工程里面,ksdk太大提示无法上传
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24882
    最后登录
    2025-7-20
    发表于 2018-1-8 09:51:13 | 显示全部楼层
    zsltx 发表于 2018-1-6 14:08
    我的开发环境是keil mdk 5 ,我发给你的是我这边编译没问题的啊。你需要把ksdk2.1复制到每个工程里面,ks ...

    你说的把SDK2.1复制到每个工程里面,请给出具体步骤。
    另外我这边已经没有FRDM-K64 SDK2.1了,最低的只有SDK_2.2_FRDM-K64F。
    其实SDK里面包含了很多的工程,你如果把不需要的工程都删掉,把驱动保留,其他的mid层不用的也删掉,就没有多大了,压缩下就更小了。
    建议你还是准备一个能够直接编译成功的工程给我,这样大家都比较节约时间。
    你可以把你的工程放到另外一台电脑编译下,看是否有问题,我这边编译出来是缺少了很多的文件。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 23:57 , Processed in 0.107942 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表