专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
TI
CC2530 SPI 问题
2019-07-24 18:08
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
TI MCU
4039
5
1262
CC2530 作为主机 发送读取指令 但是收不到数据 流程为 SPI 主模式 片选 要读取的芯片,发送读取指令 0x8F 读地址为0X0F的寄存器 可是 从设备没有返回任何数值,不知道什么原因,是不是CC2530 在主模式下发送指令 必须将2530 设置成从模式才能收到 数据啊 万分不解,求指导
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
dirtwillfly
1楼-- · 2019-07-24 19:31
建议楼主把代码传上来看看
加载中...
huayuguo
2楼-- · 2019-07-24 22:46
IAR 工程 是根据 SPI 参考代码修改的,希望大牛帮分析一下。
主要就是 初始化 后 2530作为主 向从 发送读取地址 为 0X0F 的内容,但是一直没有收到数据 一直卡在 while 然后超时退出了,我实验过去掉超时,然后程序就死这里了。
u16Loop=5000;
while (!U0RX_BYTE)
{
u16Loop--;
if(u16Loop==0)
{
return 0;
}
}
加载中...
huayuguo
3楼-- · 2019-07-24 22:51
自己解决 现在结贴:
第一点 CC2530 SPI 在作为主机时,TX_BYTE 不可用,次状态为只作为从机使用。 至少我实验是这样。
第二点 TX_BYTE 不可用 用什么接收从机来的数据,在SPI作为主机模式下要接收从机数据 必须提供SCK时钟 即需要发送假数据 如:发送0x00 0XFF等
状态位需要用ACTIVE 来判断 接收到数据没有,但是这里有个问题 需要在发送假数据后 必须加载一定延迟 此延迟 必须超过8个SCK脉冲的时间,不知道是不是ACTIVE不可用的原因还是我理解错误。
这样就可以接收数据了。
也许上面2点 有错误,但是从我的调试来看是这样的 希望遇到同样问题的同志 参考。
另外 需要注意 SPI 的SCK 时钟的相位 极性 以及是低位先送还是高位先送 。这个 如果不明白 请百度吧。
加载中...
xiangtian134
4楼-- · 2019-07-25 02:31
精彩回答 2 元偷偷看……
加载中...
寒风晓月
5楼-- · 2019-07-25 04:12
我使用CC2543的SPI口读HMC5983的数据,通过示波器可以观察到时钟信号正确,输出正确,但是无法得不到接收的数据。试过发送无效命令取从器件值,SPI的时钟极性和相位也修改过,但是还是得不到数据,不知道是什么原因。如果您看我的消息,愿意给我一些指导,请给我回复,非常感谢你。
加载中...
一周热门
更多
>
相关问题
CPLD的方波输出
4 个回答
11个版本Quartus II 软件下载,安装包网盘合集,附教程,47G!
20 个回答
请大家帮忙到21IC发展大家谈支持我申请新版面
20 个回答
【通知】21ic中国电子网服务条款 (所有人员必读)
1 个回答
满载而归乙亥年,大展鸿途庚子年---集签赢好礼
20 个回答
携手ADI,踏上电子工程师之巅—车辆电气化视频,答题领奖!
1 个回答
如何提升论坛质量,看你了!
20 个回答
【最终名单】二姨家喊你来拿100份新年大礼啦~
20 个回答
相关文章
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
TI
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
主要就是 初始化 后 2530作为主 向从 发送读取地址 为 0X0F 的内容,但是一直没有收到数据 一直卡在 while 然后超时退出了,我实验过去掉超时,然后程序就死这里了。
u16Loop=5000;
while (!U0RX_BYTE)
{
u16Loop--;
if(u16Loop==0)
{
return 0;
}
}
第一点 CC2530 SPI 在作为主机时,TX_BYTE 不可用,次状态为只作为从机使用。 至少我实验是这样。
第二点 TX_BYTE 不可用 用什么接收从机来的数据,在SPI作为主机模式下要接收从机数据 必须提供SCK时钟 即需要发送假数据 如:发送0x00 0XFF等
状态位需要用ACTIVE 来判断 接收到数据没有,但是这里有个问题 需要在发送假数据后 必须加载一定延迟 此延迟 必须超过8个SCK脉冲的时间,不知道是不是ACTIVE不可用的原因还是我理解错误。
这样就可以接收数据了。
也许上面2点 有错误,但是从我的调试来看是这样的 希望遇到同样问题的同志 参考。
另外 需要注意 SPI 的SCK 时钟的相位 极性 以及是低位先送还是高位先送 。这个 如果不明白 请百度吧。
一周热门 更多>