IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 【ZigBee设备无线通讯&串口功能开发】 -> 正文阅读

[嵌入式]【ZigBee设备无线通讯&串口功能开发】

一、实验效果:

CC2530无线通讯&串口

二、实验要求:

请选手通过编程实现两块 ZigBee 板直间通讯的功能,具体任务要求如下。
任务要求:

  • 使用两块黑色 ZigBee 开发板,分别命名为 A、 B 并用标签纸贴上。
  • 使用串口连接线将板 B 连接到工作站的 COM1 口。
  • 板 B 可以根据外部条件通过 RS232 口向外输出指定格式的数据。具体格
    式为: FA 00 FB 。其中 FA 表示数据头, FB 表示数据结尾, 00 表示要
    发送的数据值。
  • 点击板 A 的 SW1 按键可以控制板 B 向 RS232 口发送的数据值自动加一
    例如 FA 01 FB, FA 02 FB 等。
  • 使用串口调试助手可以验证以上要求开发的功能。

完成以上任务后请做以下步骤:

  • 在板 A 的小辣椒天线贴上“E-4-A”标签纸,板 B 的小辣椒天线贴上
    E-4-B”标签纸
  • 开发完成后将可以运行此要求的板 A 安装到物联网设备搭建平台中标注
    的安装区域。将可以运行此要求的板 B 摆放在工作站计算机桌面上。板
    B 的 RS232 口连接到工作站计算机串口 COM1。板 A、 B 都通上电等待裁
    判验证评分。

三、实验代码与简单分析

1、ZigBee板(黑色)A模块

  1. 添加宏定义
#define SW1   P1_2
  1. 单击SW1给模块B发送数据
//初始化LED和按键端口
//单击按键SW1,给模块B发送信息
void Sw1_send(void)
{
  if(!SW1)
  {
    halMcuWaitMs(100);
    if(!SW1)
    {
      while(!SW1);    //松手检测
      basicRfSendPacket(SEND_ADDR, "0", 1);
    }
  }
}

给模块B发送一个标志位数据
3. 主函数main

/********************MAIN************************/
void main(void)
{
    halBoardInit();//选手不得在此函数内添加代码
    ConfigRf_Init();//选手不得在此函数内添加代码
   
    //MCU_IO_DIR_INPUT(1,2);    
    //P1DIR ~=0x04;默认值就是输入
    while(1)
    {
    /* user code start */
      Sw1_send(); 
    /* user code end */
    }
}

2、ZigBee板(黑色)B 模块

  1. 模块B的主函数main()
********************MAIN************************/
void main(void)
{
    halBoardInit();//选手不得在此函数内添加代码
    ConfigRf_Init();//选手不得在此函数内添加代码
   
    uint8 uartBuf[3]={0xFA,0x00,0xFB};
    uint8 *rfRxBuf=0;
    while(1)
    {
      /* user code start */
      
      while(!basicRfPacketIsReady());   //判断是否收到信息
      if(basicRfReceive(rfRxBuf, 1, NULL)>0)
      {
        if(*rfRxBuf ==48)
          uartBuf[1] +=0x01;
      }
      halUartWrite(uartBuf, 3);
      //uart_printf(uartBuf);
    /* user code end */
    }
}

通过模块A发送的数据,模块B数据加1,并按特定的消息帧打印

三、实验项目

使用basicRfReceive()接收无线数据,其返回值为接收到数据的长度,串口打印可使用两个函数
本个项目源码:ZigBee设备无线通讯&串口功能开发

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-02-28 15:45:41  更:2022-02-28 15:45:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:46:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码