搜索
bottom↓
回复: 4

24L01寄存器值不能读回~

[复制链接]

出0入0汤圆

发表于 2009-7-8 20:16:51 | 显示全部楼层 |阅读模式
一直写寄存器,但是MISO口上没有数据变化。。
程序代码:
void SPI_MasterInit(void)
{
        DDRB |=(1<<PB4)|(1<<PB5)|(1<<PB7);     //Set MOSI, SCK AND SS as outputs  

        SPCR =(1<<SPE)|(1<<MSTR)|(1<<SPR0);//16分频,高位先发

        SPSR=0;

}

unsigned char SPI_MasterTransmit(unsigned char byte)
{
SPSR &= ~(1 << SPIF);
SPDR = byte;
while(!(SPSR & (1<<SPIF))) ;
return SPDR;
}

unsigned char SPI_Read_Reg(unsigned char reg)
{
  unsigned char reg_val;
   
  CSN_0;
  SPI_MasterTransmit(reg);           // Select register to read from..
  reg_val =SPI_MasterTransmit(0);         // ..then read registervalue                                 
  CSN_1;
   
  return(reg_val);                        // return register value
}
//**SPI_Write_Reg**//
unsigned char SPI_Write_Reg(unsigned char reg,unsigned char value)
{
  unsigned char status;

  CSN_0;
  status=SPI_MasterTransmit(reg);   // select register
  SPI_MasterTransmit(value);           // ..and write value to it..
  CSN_1;
   
  return(status);                        // return nRF24L01 status byte
}
int main()
{

SPI_MasterInit();


while(1)
SPI_Write_Reg(W_REGISTER+CONFIG,0x55);//写入一个值,在MOSI上用示波器可以检测到波形,但是在MISO上检测不到,检测回来应该是0X55吧?互相交换数据~!??
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2009-7-10 21:42:54 | 显示全部楼层
平时的MISO应该是有信号出来的,貌似是0X1E,是STATUS状态,如果没有的话,莫非是硬件问题?有没有把MISO设置成输入?看你的程序看不太出来。

出0入0汤圆

 楼主| 发表于 2009-7-11 19:39:08 | 显示全部楼层
上面那个程序改了一下,主程序变成了,
SPI_Write_Reg(W_REGISTER+EN_AA,0x55);

i=SPI_Read_Reg(EN_AA);

发现i值不能被读回,不是0x55?

单写i=SPI_Read_Reg(EN_AA);
是可以读回初始值的,不知道为什么。。

出0入0汤圆

发表于 2010-8-14 21:22:12 | 显示全部楼层
和二楼同样的问题

出0入0汤圆

发表于 2010-8-16 19:58:12 | 显示全部楼层
你试着写两次读试试i=SPI_Read_Reg(EN_AA); i=SPI_Read_Reg(EN_AA); 因为SPI发读指令后回来的是上一条指令的返回值,如果上次没有返回值就会返回初始值0x1e。 所以你读第二次才会返回你所需要的值。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-15 08:20

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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