资源简介
本例程利用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
相关资源
- DSP实验(10次实验有详细步骤)
- CCS5.05.1可使用的license
- dsp2812上128点FFTc程序以及其CMD文件
- DSP28335程序片内FLASH搬运至RAM运行的
- 基于DSP2812的以太网调试程序
- DSP与PC通讯的几种方法
- DSP 语音识别程序 DTW MFCC
- 创龙C66x平台GigE工业相机图像采集案例
- VC工程转Qt工程文件的工具
- 基于DSP的大功率开关电源的设计方案
- 基于DSP 56F801的正弦波输出DC/AC电源
- 基于DSP的大功率开关电源设计
- 基于ARM7和DSP的逆变电源设计电路
- 基于运动控制器MCK2407的无刷直流电机
- es(elasticsearch)整合SpringCloudSpringBo
- tms320c6748 DSP原理图 SCH PCB
- TMS320F280049最小系统原理图
- F280049C_CMPSS_01.zip
- 基于DSP的矿用静止无功发生器的研制
- 基于DSP的矿井提升机永磁同步电机D
- 基于DSP的SVPWM变频调速系统
- 基于DSP的下一代车载娱乐系统
- DSP控制器原理及其在运动控制系统中
- 北京交通大学-数字图像处理试卷+ 答
- 十字路口交通灯.pdsprj
- 用DSP Builder实现FIR滤波器
- TMS320C54X DSP结构、原理及应用(第二版
- DSP 28035 源码
- PCI总线接口与DSP的HPI接口
- 基于DSP交流伺服系统与CAN总线的通信
评论
共有 条评论