• 大小: 5KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-19
  • 语言: 其他
  • 标签: DSP  nrf2401  

资源简介

本例程利用TI DSP TMS320F28027实现了对nrf2401无线模块的通信,并能实现数据的收发。

资源截图

代码片段和文件信息

#include “DSP28x_Project.h“     // Device Headerfile and Examples Include File
#include 
#include “SCIA.h“

Uint8 TX_ADDRESS[TX_ADR_WIDTH]={0x340x430x100x100x01}; //发送地址
Uint8 RX_ADDRESS[RX_ADR_WIDTH]={0x340x430x100x100x01}; //发送地址
char *Error_String = “Error“;
char *Right_String = “Right“;
//###########################################################################
// $ 函数名称:  void NRF24L01_GPIO(void)               $
// $ 函数功能:  NRF24L01引脚定义,GPIO0位IRQGPIO1为CE引脚   $
//###########################################################################
void NRF24L01_GPIO(void)
{
EALLOW;
//---GPIO0为nrf2401的IRQ-------//
GpioCtrlRegs.GPAPUD.bit.GPIO0 = 0;
GpioCtrlRegs.GPAQSEL1.bit.GPIO0=0;
GpioCtrlRegs.GPAMUX1.bit.GPIO0=0;
GpioCtrlRegs.GPADIR.bit.GPIO0=0; //input
//---GPIO1为nrf2401的CE-------//
GpioCtrlRegs.GPAPUD.bit.GPIO1 = 0;
GpioCtrlRegs.GPAQSEL1.bit.GPIO1=0;
GpioCtrlRegs.GPAMUX1.bit.GPIO1=0;
GpioCtrlRegs.GPADIR.bit.GPIO1=1; //output

//---GPIO19为SPI的CSN片选引脚-------//
GpioCtrlRegs.GPAPUD.bit.GPIO19 = 0;
GpioCtrlRegs.GPAQSEL2.bit.GPIO19=0;
GpioCtrlRegs.GPAMUX2.bit.GPIO19=0;
GpioCtrlRegs.GPADIR.bit.GPIO19=1; //output
//---GPIO18为SPI的SCK片选引脚-------//
GpioCtrlRegs.GPAPUD.bit.GPIO18 = 0;
GpioCtrlRegs.GPAQSEL2.bit.GPIO18=0;
GpioCtrlRegs.GPAMUX2.bit.GPIO18=0;
GpioCtrlRegs.GPADIR.bit.GPIO18=1; //output
//---GPIO17为SPI的MISO数据引脚-------//
GpioCtrlRegs.GPAPUD.bit.GPIO17 = 0;
GpioCtrlRegs.GPAQSEL2.bit.GPIO17=0;
GpioCtrlRegs.GPAMUX2.bit.GPIO17=0;
GpioCtrlRegs.GPADIR.bit.GPIO17=0; //input
//---GPIO16为SPI的MOSI命令引脚-------//
GpioCtrlRegs.GPAPUD.bit.GPIO16 = 0;
GpioCtrlRegs.GPAQSEL2.bit.GPIO16=0;
GpioCtrlRegs.GPAMUX2.bit.GPIO16=0;
GpioCtrlRegs.GPADIR.bit.GPIO16=1; //output
EDIS;

GpioDataRegs.GPASET.bit.GPIO19=1;  //SPI-CSN  置高
GpioDataRegs.GPACLEAR.bit.GPIO18=1;//SPI-SCK  置低
GpioDataRegs.GPASET.bit.GPIO16=1;  //SPI-MOSI  置高

GpioDataRegs.GPACLEAR.bit.GPIO1=1;  //2401-CE  置低

}

//###########################################################################
// $ 函数名称:  Uint8 NRF24L01_Check(void)              $
// $ 函数功能:  检测24L01是否存在0:成功;1:失败           $
//###########################################################################
Uint8 NRF24L01_Check(void)
{
Uint8 buf[5]={0XA50XA50XA50XA50XA5} buf1[5]={};
Uint8 i=0j=0;
// //----------test---------//
// for(j=0;j<5;j++)
// {
// scia_xmit(buf[j]);
// }
NRF24L01_Write_Buf(WRITE_REG_nrf+TX_ADDRbuf5);//写入5个字节的地址.
NRF24L01_Read_Buf(TX_ADDRbuf15); //读出写入的地址
for(i=0;i<5;i++) if(buf1[i]!=0XA5){break;}
// //----------test---------//
// for(j=0;j<5;j++)
// {
// scia_xmit(buf1[j]);
// }

if(i!=5)  //检测24L01错误
{
scia_msg(Error_String );
return 1;
}
else
{
// scia_msg(Right_String);
return 0;  //检测到24L01
}
}

//###########################################################################
// $ 函数名称:  Uint8 drv_spi_read_write_byte( Uint8 TxByte )      $
// $ 函数功能: 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      11598  2018-01-24 19:25  nrf2401\nrf2401.c

     文件       5178  2018-01-24 18:51  nrf2401\nrf2401.h

     目录          0  2018-02-05 14:19  nrf2401

----------- ---------  ---------- -----  ----

                16776                    3


评论

共有 条评论