发送代码
void main()
{
//unsigned char i=0;
gpio_init();
Init_UART1();
delay_ms(1000);
CE=0;
CSN=1;
TX_Mode();
delay_ms(100);
while (1)
{
CE=0;
SPI_RW_Reg(FLUSH_TX,0); //清空发送寄存器
SPI_Write_Buf(W_TX_PAYLOAD, TX_BUF1, 5); //Writes data toTX payload,最多只能发射 32
CE=1; //CE 置少要保持 10US 高电平
delay_ms(1000);
}
}
//接受代码
void main()
{
u8 RX_BUF[10]={0,0,0,0,0,0,0,0,0,0,};
u8 i=0;
gpio_init();
Init_UART1();
timer_init();
delay_ms(1000);
CE=0;
CSN=1;
RX_Mode();
delay_ms(100);
while (1)
{
delay_ms(1000); //接受延时
CE=0;
i=SPI_Read(READ_REG+STATUS);
if(i&0x40)
{
SPI_Read_Buf(R_RX_PAYLOAD,RX_BUF,5); //读数据
for(uchar i=0;i<5;i++)
UART1_sendchar(RX_BUF[i]);
SPI_RW_Reg(FLUSH_RX,0); //清数据缓存
}
CE=1; //拉高接受模式
}
}
现在的问题是:往某个寄存器写数据读出来是一样的,说明时序和模块都没问题吧,但是通讯有问题,请问有知道的么?
|