全球旧事资料 分类
WRITE_REGRX_PW_P0RX_PLOAD_WIDTH设置接收数据长度,本次设置为32字节EX11开外部中断1IT11下降沿触发EA1开总中断设置模式:b为0时是发送模式为1时是接收模式voidSet_ModecharbCE0SPI_RW_RegWRITE_REGCONFIG0x0ebIRQ收发完成中断响应,16位CRC,主接收CE1模式转换要等待130Us
rf_delay函数:bit
RF24L01_TxPacketu
sig
edchartx_buf功能:发送tx_buf中数据返回1数据发送bit
RF24L01_TxPacketuchartx_bufbitval0ifTX_OKTX_OK0CE0Sta
dByI模式
fSPI_RW_RegWRITE_REGSTATUSsta发送完数据后RX_DRTX_DSMAX_PT都置高为1,通过写1来清楚中断标志CSN0CSN置低,开始传输数据SPI_RWFLUSH_TX数据成功发送到了接收端此时状态寄存器的TX_DS位置高并把数据从TXFIFO中清除掉所以这里就不要再清除TXFIFO了CSN1CSN置低,开始传输数据SPI_Write_BufWR_TX_PLOADtx_bufTX_PLOAD_WIDTH装载数据SPI_RW_RegWRITE_REGCONFIG0x0eIRQ收发完成中断响应,16位CRC,主发送CE1置高CE,激发数据发送val1elseifMAX_RT_OKMAX_RT_OK0SPI_RW_RegWRITE_REGSTATUSsta发送完数据后RX_DRTX_DSMAX_PT都置高为1,通过写1来清楚中断标志CSN0CSN置低,开始传输数据SPI_RWFLUSH_TXMAX_RT位置高不清除TXFIFO中的数据所以这里要清除TXFIFOCSN1TX_OK1retur
val函数:bit
RF24L01_RxPacketucharrx_buf功能:数据读取后放如rx_buf接收缓冲区中bit
RF24L01_RxPacketucharrx_bufbitrevale0ifRX_OK判断是否接收到数据RX_OK0接收数据标志清零CE0SPI使能SPI_Read_BufRD_RX_PLOADrx_bufRX_PLOAD_WIDTHreadreceivepayloadfromRX_FIFObufferSPI_RW_RegWRITE_REGSTATUSsta接收到数据后RX_DRTX_DSMAX_PT都置高为1,通过写1来清楚中断标志
fCSN0CSN置低,开始传输数据SPI_RWFLUSH_RX用于清空FIFO!!CSN1CSN置低,开始传输数据revale1读取数据完成标志Set_Mode1重新设置为接收模式retur
revaleNRF24L01IRQ引脚产生的中断函数voidI
t_1i
terrupt2staSPI_ReadSTATUSr
好听全球资料 返回顶部