用的ARM72103做MCU,做无线数据传送!发送的数据接收不到!发送程序是正常的!
接收程序如下:
接收程序:
void rx_data(uint8 *data_rx)
{
uint8 i;
enter_idle();
write_spi_reg(REG82_RX); //清FIFO写指针
write_spi_reg(REG7_RX); //开RX并选择频道
delay_1us(7);//延迟2us
while(!(IOPIN&pkt_FLAG)); //等待就收标志0=无接收信号,1=有接收信号
IOCLR=spi_SS;
write_spi_byte(0xd0); //写FIFO地址
while((read_spi_byte()!=N));
for(i=0;i<N;i++)
{
data_rx[i]=read_spi_byte();
}
IOSET=spi_SS;
}
主程序
void main()
{
init_jf24c_pin();
rf_rst();
delay_10ms(130);
com_init();
while(1)
{
rx_data(recv_data);
delay_1us(7);//延迟2us
send_str(recv_data,8);//串口发送到电脑端
delay_10ms(130);
delay_10ms(130);
}
}
基本上程序就是在JF24C例程_51C语言 上改的。当while(!(IOPIN&pkt_FLAG)); 注释掉时,会无限把recv_data[8]中的数据重复发送。。当加上while(!(IOPIN&pkt_FLAG)); 时,反而一个数据也接不到了!!!
求大神教教!! |