|
本帖最后由 wenzhouyxc 于 2014-2-24 15:40 编辑
选用ACK加载一个数据包进行伪双工双向通讯时,其配置如下:
NRF_Write_Reg(NRF_WRITE_REG+CONFIG, 0x7E);
NRF_Write_Reg(FLUSH_TX,0xFF);
NRF_Write_Reg(FLUSH_RX,0xFF);
SPI_RW(0x50);
SPI_RW(0x73);
NRF_Write_Reg(NRF_WRITE_REG+0x1C,0x01);
NRF_Write_Reg(NRF_WRITE_REG+0x1D,0x06);
发送函数为:
void NRF_TxPacket_AP(uint8_t * tx_buf, uint8_t len)
{
SPI_CE_L(); //StandBy Iģʽ
NRF_Write_Buf(0xa8, tx_buf, len); // ×°ÔØÊý¾Ý
SPI_CE_H(); //ÖøßCE
}
但执行完这条语句后就停在irq!=0,等待发送完成的循环语句里。。。
用万用表测发现IRQ管脚一直为高电平。。
请问将半双工模式改成这种双方通讯,除了发送的函数和上述配置不同,还要改动哪里么?
|
|