打印

CC2530 SPI 问题

[复制链接]
2414|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huayuguo|  楼主 | 2014-5-16 15:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CC2530 作为主机  发送读取指令 但是收不到数据  流程为 SPI 主模式  片选 要读取的芯片,发送读取指令 0x8F  读地址为0X0F的寄存器 可是 从设备没有返回任何数值,不知道什么原因,是不是CC2530 在主模式下发送指令  必须将2530 设置成从模式才能收到 数据啊  万分不解,求指导

相关帖子

沙发
dirtwillfly| | 2014-5-17 09:11 | 只看该作者
建议楼主把代码传上来看看

使用特权

评论回复
板凳
huayuguo|  楼主 | 2014-5-19 09:11 | 只看该作者
IAR  工程  是根据 SPI 参考代码修改的,希望大牛帮分析一下。


主要就是 初始化 后   2530作为主  向从 发送读取地址 为 0X0F 的内容,但是一直没有收到数据 一直卡在 while 然后超时退出了,我实验过去掉超时,然后程序就死这里了。
          u16Loop=5000;
          while (!U0RX_BYTE)
          {
                u16Loop--;
                if(u16Loop==0)
                {
                    return 0;
                }
        }

spi_master.rar

48.34 KB

使用特权

评论回复
地板
huayuguo|  楼主 | 2014-5-22 16:27 | 只看该作者
自己解决  现在结贴:

第一点 CC2530 SPI 在作为主机时,TX_BYTE 不可用,次状态为只作为从机使用。   至少我实验是这样。

第二点 TX_BYTE 不可用 用什么接收从机来的数据,在SPI作为主机模式下要接收从机数据  必须提供SCK时钟 即需要发送假数据 如:发送0x00 0XFF等
       状态位需要用ACTIVE 来判断 接收到数据没有,但是这里有个问题 需要在发送假数据后 必须加载一定延迟 此延迟 必须超过8个SCK脉冲的时间,不知道是不是ACTIVE不可用的原因还是我理解错误。
      这样就可以接收数据了。


也许上面2点 有错误,但是从我的调试来看是这样的 希望遇到同样问题的同志  参考。


  另外 需要注意 SPI  的SCK  时钟的相位 极性 以及是低位先送还是高位先送  。这个 如果不明白 请百度吧。

使用特权

评论回复
评分
参与人数 1威望 +4 收起 理由
dirtwillfly + 4 赞一个!
5
xiangtian134| | 2014-12-30 11:04 | 只看该作者
大神能把代码贴出来   参考下吗  , 我 现在在cc2530 spi 控制cc1101发送无线信号,还没思路

使用特权

评论回复
6
寒风晓月| | 2016-1-4 11:11 | 只看该作者
我使用CC2543的SPI口读HMC5983的数据,通过示波器可以观察到时钟信号正确,输出正确,但是无法得不到接收的数据。试过发送无效命令取从器件值,SPI的时钟极性和相位也修改过,但是还是得不到数据,不知道是什么原因。如果您看我的消息,愿意给我一些指导,请给我回复,非常感谢你。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

48

主题

109

帖子

0

粉丝