用CC2530实现无线串口可以说是最简单的了,话不多说直接看代码:

1.初始化

void RF_Init(void)
{
  FRMFILT0  =0x0C;                //静止接收过滤,即接收所有数据包     
  TXPOWER   =0xD5;                //发射功率为1dBm  
  FREQCTRL  =0x0B;                //选择通道11  
  
  CCACTRL0  =0xF8;                //推荐值 smartRF软件生成  
  FSCAL1 =   0x00;                  
  TXFILTCFG =0x09;  
  AGCCTRL1 = 0x15;  
  AGCCTRL2 = 0xFE;        
  TXFILTCFG =0x09;                  
  
  RFIRQM0 |=(1<<6);               //使能RF数据包接收中断  
  IEN2 |=(1<<0);                  //使能RF中断  
  
  RFST =0xED;                     //清除RF接收缓冲区 ISFLUSHRX  
  RFST =0xE3;                     // RF接收使能 ISRXON

}

2.发送

void RF_Send(u8 *pbuf,int len)  
{
  RFST =0xE3;                     // RF接收使能 ISRXON  
  // 等待发送状态不活跃并且没有接收到SFD  
  while( FSMSTAT1&((1<<1)|(1<<5)));  
   
 RFIRQM0 &=~(1<<6);              //禁止接收数据包中断  
  IEN2 &=~(1<<0);                 //清除RF全局中断  
   
  RFST =0xEE;                     //清除发送缓冲区 ISFLUSHTX  
 RFIRQF1 =~(1<<1);               //清除发送完成标志  
   
  // 填充缓冲区填充过程需要增加2字节,CRC校验自动填充  
  RFD = len+2;         
  for(int i=0; i< len; i++)  
  {  
    RFD=*pbuf++;  
  }  
   
  RFST =0xE9;                     //发送数据包 ISTXON  
  while(!(RFIRQF1&(1<<1)));     //等待发送完成  
 RFIRQF1 =~(1<<1);               //清除发送完成标志位  
   
 RFIRQM0 |=(1<<6);               // RX接收中断  
  IEN2 |=(1<<0);

}

3.接收

#pragma vector=RF_VECTOR  
__interrupt void rf_isr(void)  
{
//  EA =0;
  // 接收到一个完整的数据包  
  if(RFIRQF0&(1<<6))  
  {
    RF_RXLen=0;
    RF_RSSI=0;
  
    RF_RXLen = RFD-2;                       //第一次读出为长度,去除两字节附加结果(RSSI和CRC校验结果) 
    RF_RXLen &=0x7F;  
    for(int i=0; i< RF_RXLen; i++)  
    {
      RF_RXBuf[i]= RFD;                      //连续读取接收缓冲区内容  
    }
   
    RF_RSSI = RFD-73;                           //读取RSSI结果   
   
    RFST = 0xED;                               //清除接收缓冲区  
  
    if(RFD&0x80)                 //判断CRC校验是否正确
    {
      printf("GET DATA:%d\n",RF_RXLen);
    }
    else
    {
      printf("CRC Error!\n");
    }
    
    S1CON =0;                                  //清除RF中断标志  
    RFIRQF0 &=~(1<<6);                        //清除RF接收完成数据包中断  
  }
//  EA =1;

}

4.注

2530无线串口缺陷在于一次性发送的字节数不多,我实测是23Byte,这样传输速度肯定就上不去,然后传输大的数据量的话也麻烦!

需要示例代码可邮件:X_Q_Wei@163.com

CC2530 实现无线串口相关推荐

  1. 433M无线串口E30-TTL-100在农业物联网上的应用

    一.无线串口模块在农业物联网上的应用背景 智能农业,是通信.计算机和农学等若干学科和领域共同发展,并相互结合所形成的产物,它将信息采集.传输.处理和控制集成在一起,使人们更容易获得农作物生长各个阶段的 ...

  2. 【案例】无线串口模块 星型网络组网 案例

    星型网络技术 01 什么是星型网络 星型网络是有两种网络设备构成:中心节点和终端节点.中心节点是整个星型网络的枢纽,所有终端节点通过无线或者有线的形式连接到中心节点,与中心节点进行信息交互.终端节点之 ...

  3. 【无线串口模块快速选型指南】通信频点、芯片、通信距离、功率灵敏度、电流 空中速率

    目录 简介 串口模块的选型要点 01 通信频点 02 芯片方案 03 通信距离 04 发射功率.接收灵敏度 发射功率 接收灵敏度 05 发射电流.接收电流.休眠电流 06  空中速率 07 天线接口形 ...

  4. 单片机红外通信c语言,基于C语言的计算机与多单片机红外无线串口通信的实现.doc...

    基于C语言的计算机与多单片机红外无线串口通信的实现 基于C语言的计算机与多单片机红外无线 串口通信的实现 黄文亮 信息学院 电子信息工程专业 指导教师 刘传菊 摘要:计算机与一台或多台单片机的通信系统 ...

  5. 基于433MHz无线串口,多发一收解决方案

    一.无线发展背景 随着科学技术的飞速发展,智能家居.智慧农业.智慧城市如雨后春笋.而这些行业的发展离不开无线的应用. 传统的有线连接不仅仅是成本高,包括布线安装.维护等也是成本巨大.并且机动性也很差, ...

  6. 通过无线串口ATK-LoRa-01发送陀螺仪MPU6050三种维度信息---数值处理代码分享(小成就^V^)

    1.主机         将3个数值(有符号整形int)转化为12个字符串(方便接收方处理数据),每四位为一个数值,其中每四位的第一位是符号位,正值时为'0'号,负值时为'-'号,转化为字符串通过无线 ...

  7. 无线串口模块通信技术参数快速选型指南

    首先我们来说一下什么是无线串口模块?无线模块即是通过无线电信号来传输数据的软硬件模组,串口模块即是使用串口通信协议来传输数据的软硬件模组,那么无线串口模块也就是使用串口协议来进行无线电通信的软硬件模组 ...

  8. MJKDZ PS2手柄控制OskarBot小车(三):STM32接收无线串口模块的数据并处理

    MJKDZ PS2手柄控制OskarBot小车(三):无线串口模块接收数据并处理 [目录] 1.硬件与软件设计思路 - 1.1 硬件资源 - 1.2 STM32串口接收数据的方法 2.源代码详解 - ...

  9. 无线串口NRF24L01的使用与调试

    毕业设计中,需要做一个无线遥控的小车,无线使用NRF24L01转串口模块. 上位机界面设计完成如图: 上位机的作用仅仅是每个按键发送不同的字符串而已. 在调试过程中使用过不同的串口调试助手. 但是使用 ...

  10. 多功能无线串口,空旷条件下传输距离可以达到1000米

    多功能无线串口,空旷条件下传输距离可以达到1000米. 主控才用stm32f103 输出信号支持232.485. TTL还可以用usb传输到电脑界面 支持八个波特率 支持99个信道 才用锂电池供电 想 ...

最新文章

  1. Python培训就业怎么样?
  2. angularjs ng-option ie issue解决方案
  3. (每天一句python)两个list的交集、并集、差集
  4. kaggle研究生招生(上)
  5. docker下载tomact
  6. tableau三轴该怎么做_如何用tableau绘制城市地铁线路图?
  7. java Map及其实现类的底层原理
  8. 明天发布一个基于Silverlight的类Visio小型绘图工具项目。
  9. 多策略调和的布谷鸟搜索算法
  10. 小程序的宿主环境-宿主环境简介
  11. 住建部发布《全国建筑工人管理服务信息平台数据对接方案》
  12. 超声波的四个特性_超声波的几个特性
  13. Win11 “qq无法访问个人文件夹”解决方法(原创)
  14. localhost是什么?
  15. php日历排班表,排班表 : 轮班工作者必备的排班神器
  16. 从win10(1909)中彻底卸载智能云输入法
  17. Windows搭载TS环境
  18. [python]抓取啄木鸟社区《活学活用wxPython》内容与图片
  19. 6个P2P流媒体开源项目介绍
  20. java android对话框_java - 防止Android活动对话框关闭外部触摸

热门文章

  1. windows和ubuntu双系统之双硬盘安装
  2. CentOS 7安装TeamViewer
  3. lattice planner
  4. 企业10大HR软件分析对比(精)
  5. 海外观看2022卡塔尔世界杯中文直播攻略大全
  6. Microsoft SQL Server 2000的版本区别及选择
  7. 2021走出数字化迷航,个体的获得感已成指路“灯塔”
  8. android 镜像结构,android查看分区和镜像文件的结构
  9. [201011][Maven 实战][许晓斌][著]
  10. JQuery插件库和17素材——免费下载