初级会员

- 积分
- 62
- 金钱
- 62
- 注册时间
- 2013-7-30
- 在线时间
- 0 小时
|

楼主 |
发表于 2013-8-13 14:32:21
|
显示全部楼层
u8 NRF24L01_TxPacket(u8 *txbuf)
<br>{
<br> u8 sta;
<br> SPI2_SetSpeed(SPI_BaudRatePrescaler_8);//spi速度为9Mhz(24L01的最大SPI时钟为10Mhz)
<br> NRF24L01_CE=0;
<br> NRF24L01_Write_Buf(WR_TX_PLOAD,txbuf,TX_PLOAD_WIDTH);//写数据到TX BUF 32个字节
<br> NRF24L01_CE=1;//启动发送
<br> while(NRF24L01_IRQ!=0);//等待发送完成
<br> sta=NRF24L01_Read_Reg(STATUS); //读取状态寄存器的值
<br> NRF24L01_Write_Reg(WRITE_REG_NRF+STATUS,sta); //清除TX_DS或MAX_RT中断标志
<br> if(sta&MAX_TX)//达到最大重发次数
<br> {
<br> NRF24L01_Write_Reg(FLUSH_TX,0xff);//清除TX FIFO寄存器
<br> return MAX_TX;
<br> }
<br> if(sta&TX_OK)//发送完成
<br> {
<br> return TX_OK;
<br> }
<br> return 0xff;//其他原因发送失败
<br>}中SPI2_SetSpeed(SPI_BaudRatePrescaler_8);//spi速度为9Mhz(24L01的最大SPI时钟为10Mhz) 的作用是什么? |
|