找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1859|回复: 1
打印 上一主题 下一主题
收起左侧

关于nrf24l01无线模块,求助,新手谢谢了

[复制链接]
跳转到指定楼层
楼主
ID:71525 发表于 2016-1-8 19:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
uchar SPI_RW_Reg(uchar reg, uchar value)
{
        uchar status;
          CSN = 0;                   // CSN置低,开始传输数据
          status = SPI_RW(reg);      // 选择寄存器,同时返回状态字
          SPI_RW(value);             // 然后写数据到该寄存器
          CSN = 1;                   // CSN拉高,结束数据传输
          return(status);            // 返回状态寄存器
}


这里说的状态字是指??写入寄存器地址时,并返回状态字,这个状态字显然不是寄存器里的值,那么问题来了,这个状态字是什么有什么用??求助…………


uchar SPI_Read(uchar reg)
{
        uchar reg_val;
          CSN = 0;                    // CSN置低,开始传输数据
          SPI_RW(reg);                // 选择寄存器
          reg_val = SPI_RW(0);        // 然后从该寄存器读数据
          CSN = 1;                    // CSN拉高,结束数据传输
          return(reg_val);            // 返回寄存器数据
}

标记的语句,主机上MOSI线应该在上升沿全部输出低电平,不会写入从机里已经选择的寄存器么??  

也许状态字是指从机工作在哪个状态,发射还是接收?还是掉电等模式??   第二个问题里   那句语句的意思是从里边读数据并全部将已经选择的寄存器里的值置为0么??这么理解对不??   新手有不对的   请谅解哈…………

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:84652 发表于 2016-1-10 19:17 | 只看该作者
SPI_RW函数是根据SPI时序写的,NRF24L01的数据手册上都有,仔细看看就知道那两句话是干什么了。SPI的读和写是在一起的。这两个函数也是按照数据手册这样写的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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