打印

新手请教nrf24l01 寄存器读取问题

[复制链接]
3765|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pksdb|  楼主 | 2011-3-1 16:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <msp430x14x.h>
#define uchar unsigned char
#define uint unsigned int
uchar flag = 0;
/*IO 口设置*/
#define CE_H P4OUT |= BIT0              //P4.0
#define CE_L P4OUT &= ~BIT0
#define SCK_H P4OUT |= BIT1             //P4.1
#define SCK_L P4OUT &= ~BIT1
//#define MISO_H P4OUT |= BIT2            //P4.2
//#define MISO_L P4OUT &= ~BIT2
#define CSN_H  P4OUT |= BIT3            //P4.3
#define CSN_L  P4OUT &= ~BIT3  
#define MOSI_H P4OUT |= BIT4                   //P4.4
#define MOSI_L P4OUT &= ~BIT4
/*nrf24l01 配置地址宏命令*/
#define CONFIG      0x00
//配合上面寄存器命令使用 如 R_REGISTER + nrf24l01 配置地址宏命令
#define R_REGISTER         0x00
#define W_REGISTER         0x20
//IO口初始化
void Io_Dir()
{
  P4DIR = BIT0 + BIT1 + BIT3 +BIT4 + BIT7;
}
//模拟IO口 最基本函数 高字节输入 低字节输出
uchar Spi_Write(uchar byte)
{
  uchar Count = 0;
  for(Count = 0;Count < 8; Count++)
  {
    if((byte & BIT7) == BIT7 ) //mois 为 P4.4
    MOSI_H;
    else
    MOSI_L;
    byte = byte << 1;
    SCK_H;
    SCK_L;
  }  
    return byte;
}
//spi 写相应寄存器器并赋值
uchar Spi_Reg_Write(uchar Reg, uchar val)
{
  CSN_L;
  Spi_Write(Reg);
  Spi_Write(val);
  CSN_H;
}
//读取寄存器 内容
/*读取寄存器值*/
uchar Spi_Read_Reg()
{
  uchar Count = 0;
  uchar temp = 0;
  SCK_L;
    for (Count=0;Count<8;Count++)   
   {
    SCK_H;      
   temp = temp << 1;     
   if(( P4IN&BIT2 )== BIT2) //miso 用的是P4.2口
    temp |= 1;  
    SCK_L;   
    }
    return temp;  
}
void main()
{
  WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗
  Io_Dir(); //除了miso 都设置为输出
  Spi_Reg_Write(W_REGISTER + CONFIG , 0x07)
  CSN_L;
  Spi_Write(R_REGISTER + CONFIG);
  flag = Spi_Read_Reg();
  CSN_H;
while(1);   
}
这个程序能读取CONFIG寄存器的值吗  我CONFIG 设置的值为0x07

相关帖子

沙发
chunyang| | 2011-3-2 13:22 | 只看该作者
读取寄存器靠的是SPI接口,具体指令要看器件手册。

使用特权

评论回复
板凳
pksdb|  楼主 | 2011-3-2 20:59 | 只看该作者
我这是模拟spi的时序

使用特权

评论回复
地板
sjy1979| | 2011-3-3 08:09 | 只看该作者
同意2楼所说。

使用特权

评论回复
5
natertech| | 2011-9-17 21:39 | 只看该作者
应该选择NRF24L01+(即NRF24L01P)去开发设计了,这个才是主流,功耗更低,后续的配合服务也会更好!

使用特权

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

本版积分规则

0

主题

13

帖子

1

粉丝