资源简介
本例程利用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
相关资源
- 8086新工程.pdsprj
- 可以录制曲子的八音阶电子琴.pdsprj
- DSP modbus rtu
- stm32f10x_dsp库中文手册(FFT)
- dsp28335的pwm程序
- 基于28027的GPIO程序
- PMSM电机的正弦驱动dsPIC30F
- TMS320F28379D原理图_PCB封装库(Altium D
- 论文研究-FPGA与DSP的高速链路口通信设
- 基于DSP的人脸识别系统设计.doc
- 基于FPGA+ DSP的实时图像处理系统设计
- 基于ADSP21160的数字信号处理系统设计
- AD7606基于DSP28335的SPI方式下的数据采集
- DSP芯片 F28335的以太网调试程序
- 使用verilog以及VHDL编写的将串口数据转
- DSP28335定时器程序
- DSP28335 FM25CL64
- 数字pid与开关电源
- 基于DSP的G.711语音压缩算法的设计与实
- DSP28335 75KW变频器全部控制程序
- 基于DSP的语音处理系统设计
- DSP28335的I2C例程
- DSP芯片的uPP接口与FPGA通信代码
- DSP最小系统开题报告
- DSP28335电机控制程序
- dsp2812 ADC程序
- dsp28335pcb封装
- TI DSP 28335 串口非FIFO中断接收程序
- TI DSP 28335 串口FIFO中断接收程序
- DSP-TMSC6678UDP文件传送
评论
共有 条评论