打印
[AVR单片机]

用mega88与无线收发芯片nrf24L01用spi通信无法接收数据的问题

[复制链接]
3820|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lightyacht|  楼主 | 2007-9-8 16:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用88做主, 来控制24L01, 这里想这样做, 写24L01的一个寄存器,然后再读出来,

使用的是spi, 结果却读不出来, 发现miso上一直是高电平

读出的是0xff,


相关主要子程序如下


char read_rf_reg(char address)
{
char y;
    ENABLE_RF_SPI;
    spi_byte(R_REG|address);
    y=(spi_byte(0x0));
    DISABLE_RF_SPI;
    return y;
}


char spi_byte(char data_byte)
{
    SPDR = data_byte;
    while(!(SPSR & (1<<SPIF)))
        ;
    return(SPDR);


}

谁能帮帮我


相关帖子

沙发
lightyacht|  楼主 | 2007-9-8 18:51 | 只看该作者

问题解决了

问题解决了,

由于使用的dragon仿真器的ISP接口涉及到spi的几个管脚,尤其是miso,

当dragon的isp接mega88的miso的时候,

原来低电平的miso会变为高电平

后来我在调试的时候

将dragon的isp的与miso对应的管脚断开

结果就能正常读24L01的寄存器了

使用特权

评论回复
板凳
鑫海宝贝| | 2010-10-6 14:16 | 只看该作者
楼主能把程序发给我看看吗mega16或者mega88都行

使用特权

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

本版积分规则

29

主题

41

帖子

1

粉丝