[应用相关] stm32的spi操作问题

[复制链接]
1223|5
 楼主| 可可球 发表于 2016-1-25 19:26 | 显示全部楼层 |阅读模式
用的stm32的spi操作NRF24L01,在发送前和发送后读寄存器状态,在插着j-link时,状态正确,数据接收端能接受到,但拔下j-link后,就不正确了,再插上后还是不行,要重新下程序才可以,这事怎么回事?
309030106 发表于 2016-1-25 19:54 | 显示全部楼层
是不是在ram环境调试的?掉电程序就没了
冰河w 发表于 2016-1-25 20:25 | 显示全部楼层
是不是j-link供电的
FireRiver9 发表于 2016-1-25 20:38 | 显示全部楼层
本帖最后由 FireRiver9 于 2016-1-25 21:02 编辑

程序默认应该是存储在内部Flash里的,掉电不会丢失的呀
huangcunxiake 发表于 2016-1-25 22:54 | 显示全部楼层
(1)SDO – 主设备数据输出,从设备数据输入;
(2)SDI – 主设备数据输入,从设备数据输出;
(3)SCLK – 时钟信号,由主设备产生;
(4)CS – 从设备使能信号,由主设备控制。
其中,CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。
接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCLK时钟线存在的原因,由SCLK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。数据输出通过 SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。
598330983 发表于 2016-1-26 10:26 | 显示全部楼层
nRF24L01 可以兼容nRF2401A、nRF24L01+、nRF24LE1、nRF24LU1等无线模块。
nRF24L01+

nRF24L01+(或称nRF24L01P)是nRF24L01的低功耗优化版,同时增加了250Kbps通讯速率的支持。nRF24L01与nRF24L01+之间可互用代码(除极少部分需要修改外)和互相通讯。
nRF2401A

nRF2401A与nRF24L01和nRF24L01+之间可完成相互通讯,前提是它们之间必须工作在相同的工作模式下。比如工作频率、传输速率、地址、数据包长度和CRC校验方式。
nRF24LE1

nRF24LE1、nRF24LU1也可以同nRF24L01之间完成通讯。通讯建立条件同nRF2401A。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

97

主题

675

帖子

1

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