stm32-NRF24L01通信

发布者:科技思想家最新更新时间:2019-09-26 来源: eefocus关键字:stm32  NRF24L01  通信 手机看文章 扫描二维码
随时随地手机看文章


//////////////////////////////////////////

引脚分布,

 

IRQ PA2

CE PA4

CS PA3

SPI1  (记住是SPI1的接口)

SCK  PA5

MISO PA6

MOSI PA7

////////////////////////////////////////

接好引脚,初始化好就可以使用了。记住,里面的文件配置都不用改,改引脚是ok 的

http://download.csdn.net/download/hes_c/10140988  

这是RX初始化


NRF24L01_Init();

while(NRF24L01_Check())

{

led_on();

printf("NRF NOrn");

delay_ms(100);

}

printf("NRF OKrn");

NRF24L01_RX_Mode();


这是TX初始化

NRF24L01_Init();

while(NRF24L01_Check())

{

led_on();

printf("NRF NOrn");

delay_ms(100);

}

printf("NRF OKrn");

NRF24L01_TX_Mode();





因为NRF通信会比较容易掉包



所有下面写了一个通信校验和加密(就不给全部代码了)

这是发送,添加校验和加密


//发送信息

int send_mes(u32 ID,u32 t_TX_voltage,u32 t_TX_electricity,u32 t_RX_voltage,u32 t_RX_electricity)

{

int n=0;

u32 temp=0;

temp=t_TX_voltage+t_TX_electricity+t_RX_voltage+t_RX_electricity+BCD+ID;

//ID

buf_mes[n++]=(ID>>24)&0x000000ff;

buf_mes[n++]=(ID>>16)&0x000000ff;

buf_mes[n++]=(ID>>8)&0x000000ff;

buf_mes[n++]=(ID>>0)&0x000000ff;

//TX电压

buf_mes[n++]=(t_TX_voltage>>24)&0x000000ff;

buf_mes[n++]=(t_TX_voltage>>16)&0x000000ff;

buf_mes[n++]=(t_TX_voltage>>8)&0x000000ff;

buf_mes[n++]=(t_TX_voltage>>0)&0x000000ff;

//TX电流

buf_mes[n++]=(t_TX_electricity>>24)&0x000000ff;

buf_mes[n++]=(t_TX_electricity>>16)&0x000000ff;

buf_mes[n++]=(t_TX_electricity>>8)&0x000000ff;

buf_mes[n++]=(t_TX_electricity>>0)&0x000000ff;

//RX电压

buf_mes[n++]=(t_RX_voltage>>24)&0x000000ff;

buf_mes[n++]=(t_RX_voltage>>16)&0x000000ff;

buf_mes[n++]=(t_RX_voltage>>8)&0x000000ff;

buf_mes[n++]=(t_RX_voltage>>0)&0x000000ff;

//RX电流

buf_mes[n++]=(t_RX_electricity>>24)&0x000000ff;

buf_mes[n++]=(t_RX_electricity>>16)&0x000000ff;

buf_mes[n++]=(t_RX_electricity>>8)&0x000000ff;

buf_mes[n++]=(t_RX_electricity>>0)&0x000000ff;

//校验码

buf_mes[n++]=(temp>>24)&0x000000ff;

buf_mes[n++]=(temp>>16)&0x000000ff;

buf_mes[n++]=(temp>>8)&0x000000ff;

buf_mes[n++]=(temp>>0)&0x000000ff;

buf_mes[32]='';

if(NRF24L01_TxPacket(buf_mes)==TX_OK)

{

return 1;

//printf("NRF24L01 Send Successrn");

}

else

{

return 0;

//printf("NRF24L01 Send Failrn");

}

}


下面是接收解密和校验

//接收信息

int recv_mes()

{

u32 temp=0,temp1=1;

u32 n=0;

if(NRF24L01_RxPacket(R_buf_mes)==0)//一旦接收到信息,

{

//数据合成

RX_ID=R_buf_mes[n++]<<24|R_buf_mes[n++]<<16|R_buf_mes[n++]<<8|R_buf_mes[n++];

r_TX_voltage=R_buf_mes[n++]<<24|R_buf_mes[n++]<<16|R_buf_mes[n++]<<8|R_buf_mes[n++];

r_TX_electricity=R_buf_mes[n++]<<24|R_buf_mes[n++]<<16|R_buf_mes[n++]<<8|R_buf_mes[n++];

r_RX_voltage=R_buf_mes[n++]<<24|R_buf_mes[n++]<<16|R_buf_mes[n++]<<8|R_buf_mes[n++];

r_RX_electricity=R_buf_mes[n++]<<24|R_buf_mes[n++]<<16|R_buf_mes[n++]<<8|R_buf_mes[n++];

temp=R_buf_mes[n++]<<24|R_buf_mes[n++]<<16|R_buf_mes[n++]<<8|R_buf_mes[n++];

data_flag=1;

}

temp1=r_TX_voltage+r_TX_electricity+r_RX_voltage+r_RX_electricity+BCD+RX_ID;

if(temp==temp1) //验证成功

return 1;

return 0;

}


关于变量就不上了,其中接收缓存和发送缓存 是R_buf_mes[33],  buf_mes[33]

关键字:stm32  NRF24L01  通信 引用地址:stm32-NRF24L01通信

上一篇:keil生成bin文件
下一篇:最简单的方式 创建STM32的工程(使用标准库)-1

推荐阅读最新更新时间:2024-11-04 11:22

移动通信基站天线远场测量最小距离准则
天线方向图远场测量的收发距离在理论上需要达到无穷远,以便发射源天线在被测天线口径上的照射是理想的平面波,也即幅度均匀、相位同相。天线专业的实际应用中,幅度为了满足一定的均匀性(也即锥削度)需要降低源天线的方向性或者增加测量距离;相位为了满足一定的同相要求必需增加测量距离。远场的最小距离准则主要是根据被测天线口径上照射的相位差来确定,对于常规天线,普遍认为口径照射相位差不得大于 /8弧度,根据这一原则,可以推导出收发天线的最小距离准则是R 2D2/ 。 远场测量是经典技术,2D2/ 作为远场距离准则已逾百年。1947年,贝尔实验室的天线测量先驱Cutler在权威杂志Proc. of the IRE(详见原文p.1469 的公式11
[测试测量]
基于单片机的通信电源监控系统设计与实现
  通信电源是通信网络的"心脏",通信电源系统稳定、可靠的运行直接关系到通信的稳定性及可靠性。目前大型通信电源的供电方式多采用集中供电的方式,一旦发生供电故障,将直接引起整个通信系统的瘫痪。   通信电源的传统维护方式主要依靠人工看守,工作量大,效率低下,造成设备发生故障而没有及时进行处理而产生的重大通信阻断时有发生。因此对在网运行通信电源设备实现远程实时监测,有利于及时发现电源故障,减少人为因素,对保证供电系统稳定、可靠运行显得十分重要。'   目前,通信电源系统广泛使用高频开关电源系统设备,其智能化程度高。在运行过程中,电源系统的具体运行要求很多,例如:若电源系统不能输出规定电流和电压或输出的电流、电压超出允许波动范围
[电源管理]
基于单片机的<font color='red'>通信</font>电源监控系统设计与实现
5kW高频通信电源整流及监控系统
     摘 要: 介绍一种以80C196KC为核心的通信电源监控系统及整流模块的实现方案,讨论了系统的硬件结构,软件设计及功能,并对系统的可靠性及抗干扰措施进行了阐述。     关键词: 80C196KC 监控 整流     智能化高频开关电源是一代新型直流电源装置,它具有高度灵活组合、自主监控的特点。目前应用十分广泛,尤其在通信领域,因其具有体积小、噪音低、维护方便又可被纳入通信系统的计算机监控系统等优点,从而基本上取代了相控稳压电源。本文阐述了一种5kW通信电源整流模块及其二级监控系统的实现方案,并给出了部分软件的流程图。     1 系统硬件原理     图1示出整个电源系统的原理框图。系统
[应用]
奥迪在欧洲推出交通信号灯辅助系统
奥迪计划在欧洲推出“交通信号灯辅助系统”,实现车辆与基础设施(V2I)智能互联。奥迪表示,自今年7月起,奥迪新车型将与德国英戈尔施塔特当地的交通信号灯系统全面连接。2020年起,这项技术将推广到更多欧洲城市。 奥迪表示,驾驶者将可能感受“全程绿灯”带来的畅行体验:即使身在驾驶舱内,奥迪车主也能知道该以什么速度驾驶以赶上下一个绿灯。由于道路限速无法赶上当前绿灯时,车辆将计算距离下一个绿灯的时间,并为车主倒计时。这项辅助系统将使城市驾驶更轻松、更高效。 “时走时停非常影响驾驶体验,因此驾驶者每次遇到‘全程绿灯’时都会感觉心情愉悦。但遗憾的是,城市里很少能遇到‘全程绿灯’。运用‘交通信号灯辅助系统’后,驾驶将尽在掌控、高
[汽车电子]
奥迪在欧洲推出交<font color='red'>通信</font>号灯辅助系统
STM32定时器的研究
一直想写个什么计数方面的文章,但是自己的水平有限,一直写不出来,但是这个还是凑合着写吧!!!以前也看过STM32的定时器的,但是感觉还是在一个很模糊的状态,这次就当是自己学习写技术文章的个写作。 一、对于STM32中断优先级的概念的理解 STM32(Cortex-M3)中有两个优先级的概念:抢占式优先级和响应优先级,也把响应优先级称作 亚优先级 或 副优先级 ,每个中断源都需要被指定这两种优先级。 1. 何为占先式优先级(pre-emption priority) 高占先式优先级的中断事件会打断当前的主程序/中断程序运行 抢断式优先响应,俗称中断嵌套。 2. 何为副优先级(subpriority) 在占先式优先
[单片机]
再造STM32---第十九部分:I2C—读写 EEPROM
本章参考资料:《STM32F4xx 参考手册》、《STM32F4xx 规格书》、库帮助文档《stm32f4xx_dsp_stdperiph_lib_um.chm》及《I2C 总线协议》。 若对 I2C 通讯协议不了解,可先阅读《I2C 总线协议》文档的内容学习。若想了解SMBUS,可阅读《smbus20》文档。 关于 EEPROM 存储器,请参考“ 常用存储器介绍”章节, 实验中的 EEPROM,请参考其规格书《AT24C02》来了解。 19.1 I2C协议简介: I2C 通讯协议(Inter-Integrated Circuit)是由Phiilps公司开发的,由于它引脚少,硬件实现简单,可扩
[单片机]
再造STM32---第十九部分:I2C—读写 EEPROM
Cirrus Logic拓展移动通信和智能手机市场
2010 年 6 月 10 日,在面向智能手机应用的创新型 IC 产品取得初步成功之后,Cirrus Logic公司(纳斯达克代码:CRUS)又将标准产品线拓展至智能手机和移动消费电子应用。 CS42L73 是一款专为智能手机设计的高质量、超低功耗的音频编解码器,而 CS35L0X 是针对移动通信和便携式设备开发的模拟输入、混合 D 类扬声器放大器。凭借公司在便携式音频产品领域的技术领导地位,这些产品可以帮助设计人员解决多个系统的挑战,包括延长电池寿命、改善音频质量、简化信号管理和降低 EMI,同时实现产品小型化。 CS42L73产品 整合了电脑、手机和个人媒体播
[模拟电子]
STM32 4路PWM配置函数
硬件连接:战舰STM32F103ZET6或其他 实验目标:通过调制占空比调节多路PWM控制LED的明暗; #include pwm.h #include led.h //PWM输出初始化 //arr:自动重装值 //psc:时钟预分频数 void TIM3_PWM_Init(u16 arr,u16 psc) { GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Pe
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved