zigbee 串行通信

news2024/12/28 2:31:35

串口通信需要三个函数

// Initialize UART at the startup
//-------------------------------------------------------------------
void halUartInit(uint32 baud);

//-------------------------------------------------------------------
// Read a buffer from the UART
//-------------------------------------------------------------------
extern uint16 halUartRead(uint8 *pBuffer, uint16 length);

//-------------------------------------------------------------------
// Write a buff to the uart 
//-------------------------------------------------------------------
extern uint16 halUartWrite(uint8 *pBuffer, uint16 length);

代码
 

#include "hal_defs.h"
#include "hal_cc8051.h"
#include "hal_int.h"
#include "hal_mcu.h"
#include "hal_board.h"
#include "hal_led.h"
#include "hal_rf.h"
#include "basic_rf.h"
#include "hal_uart.h" 
#include "sensor_drv/sensor.h"
#include <stdio.h>
#include <string.h>
#include <stdarg.h>
/*****点对点通讯地址设置******/
#define RF_CHANNEL                11         // 频道 11~26
#define PAN_ID                    0x1111     //网络id 
#define MY_ADDR                   0xAAAA     //本机模块地址
#define SEND_ADDR                 0xBBBB     //发送地址
/**************************************************/

#define LED1 P1_0
#define LED2 P1_1
#define SW1  P1_2


static basicRfCfg_t basicRfConfig;
// 无线RF初始化
void ConfigRf_Init(void)
{
    basicRfConfig.panId       =   PAN_ID;
    basicRfConfig.channel     =   RF_CHANNEL;
    basicRfConfig.myAddr      =   MY_ADDR;
    basicRfConfig.ackRequest  =   TRUE;
    while(basicRfInit(&basicRfConfig) == FAILED);
    basicRfReceiveOn();
}

/********************MAIN************************/



void main(void)
{
    halBoardInit();//选手不得在此函数内添加代码
    ConfigRf_Init();//选手不得在此函数内添加代码
    
    halUartInit(57600);
    P1DIR |= 0X03;
    
    LED2 = 0;
    LED1 = 1;
    halMcuWaitMs(3000);
    LED1 = 0;
    
    uint8 buf[1];  
    while(1)
    {
    /* user code start */
      if(halUartRead(buf,1)){  //如果有数据,把数据读到buf里面
        if(buf[0]==0xE1){
          LED1 = 1;
          halUartWrite("The LED1 is Open!\n",strlen("The LED1 is Open!\n"));
        }
        if(buf[0]==0xE2){
          LED1 = 0;
          halUartWrite("The LED1 is Closed!\n",strlen("The LED1 is Closed!\n"));
        }
        if(buf[0]==0xF1){
          LED2 = 1;
          halUartWrite("The LED2 is Open!\n",strlen("The LED2 is Open!\n"));
        }
        if(buf[0]==0xF2){
          LED2 = 0;
          halUartWrite("The LED2 is Closed!\n",strlen("The LED1 is Closed!\n"));
        }
        
      }
      
    /* user code end */
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/571738.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL 的锁

目录 一、锁的分类 二、全局锁、表级锁、页级锁、行级锁 三、乐观锁和悲观锁 四、共享锁和排它锁 五、意向共享锁和意向排它锁 六、间隙锁、临键锁、记录锁 锁的分类和用途 一、锁的分类 1、MySQL锁可以按模式分类为&#xff1a; 乐观锁悲观锁。 2、按粒度分可以分为&a…

【2023 · CANN训练营第一季】MindSpore模型快速调优攻略 第三章——MindSpore云上调试调优

1.ModelArts云上调试调优 ModelArts密钥初始化 详细教程&#xff1a; 初始化OBS服务 创建训练作业 2.MindSpore IDE插件效率提升 通过智能代码块推荐、代码自动补全等特性&#xff0c;提升MindSpore脚本开发效率&#xff0c;对接ModelArts云服务&#xff0c;实现模型训…

龙芯2K1000实战开发-时钟设计

文章目录 概要整体架构流程技术名词解释技术细节小结概要 提示:这里可以添加技术概要 本文主要结合项目方案,结合相应外设需求,设计单板时钟方案 整体架构流程 提示:这里可以添加技术整体架构 整体单板时钟方案,分为两部分。 一部分是:以CPU为核心,包括自身一些控…

VR全景智慧城市:构筑未来城市的数字化大融合

引言&#xff1a; 现代城市正处于数字化时代的浪潮之中&#xff0c;而在这个数字化浪潮中&#xff0c;VR全景智慧城市正以令人瞩目的方式崭露头角。随着虚拟现实&#xff08;VR&#xff09;技术的不断进步和智慧城市的发展需求&#xff0c;VR全景智慧城市作为数字技术与城市发展…

openGauss Developer Day 2023 | 邀您参加海量数据分论坛

尊敬的数据库开发者 &#xff1a; 海量数据 已为您备好一封通往数智时代的邀请函&#xff0c;请您于 5月26日 前往北京昆泰嘉瑞文化中心&#xff0c;赶赴 openGauss Developer Day 2023 的盛大约定。 本次专场活动中&#xff0c;海量数据将会轮番为您展示最核心的技术…

chatgpt赋能python:Python二次方的表示方法及其应用

Python 二次方的表示方法及其应用 介绍 Python是一种优雅、简洁、易学的编程语言&#xff0c;很多程序员选择使用Python开发各种应用。在计算机科学中&#xff0c;二次方&#xff08;也称为平方&#xff09;非常常见。在Python中&#xff0c;我们有多种方法来表示二次方。 平…

C Primer Plus第六章编程练习答案

学完C语言之后&#xff0c;我就去阅读《C Primer Plus》这本经典的C语言书籍&#xff0c;对每一章的编程练习题都做了相关的解答&#xff0c;仅仅代表着我个人的解答思路&#xff0c;如有错误&#xff0c;请各位大佬帮忙点出&#xff01; 1.编写一个程序&#xff0c;创建一个包…

中小企业如何差异化“生意表达”,成为最了不起的小企业?

​如今的市场已经不是几十年前随便卖一点新鲜的玩意儿就能火爆的场景了。科技发达了&#xff0c;人们的眼界也开阔了&#xff0c;各式各样,琳琅满目的商品占据了市场空间&#xff0c;生意越来越饱满。 竞争趋势激烈&#xff0c;商品同质化现象严重。一些商家企业通过压低价格的…

docker入门(1)----服务/镜像/容器相关命令

安装 官网安装app命令行安装&#xff08;但是没有图形界面app&#xff09;brew install docker 架构 镜像&#xff08;Image&#xff09;&#xff1a;Docker 镜像&#xff08;Image&#xff09;&#xff0c;就相当于是一个 root 文件系统。比如官方镜像ubuntu:16.04 就包含了…

深度学习笔记之循环神经网络(七)反向传播角度观察LSTM

深度学习笔记之循环神经网络——反向传播角度观察LSTM 引言回顾加补充&#xff1a;通过时间反向传播 LSTM \text{LSTM} LSTM的反向传播过程场景构建示例&#xff1a;求解梯度 L ( T ) ∂ W X ⇒ F \begin{aligned}\frac{\mathcal L^{(\mathcal T)}}{\partial \mathcal W_{\math…

2023年第十五届B题电工杯初步解题思路

第十五届“中国电机工程学会杯”全国大学生 电工数学建模竞赛题目 B题 人工智能对大学生学习影响的评价 人工智能简称AI&#xff0c;最初由麦卡锡、明斯基等科学家于1956年在美国达特茅斯学院开会研讨时提出。 2016年&#xff0c;人工智能AlphaGo 4:1战胜韩国围棋高手李世石…

javaWeb 兼职管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh兼职管理系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Mye…

服务器被勒索病毒攻击怎么办,如何进行勒索病毒解密与预防工作?

在当今社会中服务器已经成为企业关键数据存储和传输的重要载体&#xff0c;同样也成为黑客攻击和勒索病毒的首要目标。一旦服务器被勒索病毒攻击&#xff0c;企业的正常运转与经济利益和核心数据都将受到威胁。下面将为大家介绍一下服务器被勒索病毒攻击后应该采取怎样的措施及…

【1091. 二进制矩阵中的最短路径】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给你一个 n x n 的二进制矩阵 grid 中&#xff0c;返回矩阵中最短 畅通路径 的长度。如果不存在这样的路径&#xff0c;返回 -1 。 二进制矩阵中的 畅通路径 是一条从 左上角 单元格&#xff08;即&…

【参考设计】16芯串联电池包储能系统

电池包的应用与技术问题 为了获得更大的能量密度&#xff0c;锂离子和磷酸铁锂电池在电池包中的使用越来越多&#xff0c;比如&#xff1a;电信机房的UPS单元&#xff0c;移动式电站&#xff0c;储能系统等。 锂离子和磷酸铁锂电池在提供更高的功率和能量密度的同时也需要更准…

Android深入源码分析事件分发机制流程

前言 对于Android中的触摸事件即指手指触摸到屏幕时产生的点击事件&#xff1b; 类型如下&#xff1a; MotionEvent.ACTION_DOWNMotionEvent.ACTION_UPMotionEvent.ACTION_MOVEMotionEvent.ACTION_CANCEL Android事件处理流程 主要涉及三个流程&#xff1a;事件采集、事件中…

电子水尺的应用

品概述 本产品是一种采用微处理器芯片为控制器&#xff0c;内置通讯电路的数字式水位传感器&#xff0c;具备高的可靠性及抗干扰性能。适用于江、河、湖、水库及蓄水池、水渠等处的水位测量使用。 本产品使用不锈钢材料做壳体防护材料&#xff0c;内部用高性能的密封材料进行处…

11省政企单位密集调研实在智能数字员工

当前&#xff0c;数字中国建设迎来前所未有的发展机遇。五月&#xff0c;“数字中国”建设持续如火如荼&#xff0c;实在智能又迎来了新的“考察团路线”&#xff1a;西部新宁甘云中轴线晋豫鄂湘东部鲁苏闽&#xff0c;来自11省&#xff0c;20余个“数字化改革政企考察团”&…

【OS】Python模拟简单的操作系统

【OS】Python模拟简单的操作系统 Background 学习操作系统的时候&#xff0c;关注的对象是&#xff1a; 应用程序系统调用操作系统的内部实现 通常的学习思路&#xff1a; 真实的操作系统编译内核环境qemu模拟 但是&#xff0c;换个角度想一下&#xff0c;把上述的思路抽…

智能蓝牙防丢器

蓝牙防丢器&#xff0c;是采用蓝牙技术专门为智能手机设计的防丢器。其工作原理主要是通过距离变化来判断物品是否还控制在你的安全范围。主要适用于手机、钱包、钥匙、行李等贵重物品的防丢&#xff0c;也可用于防止儿童或宠物的走失。防丢器的原理是在手机和蓝牙之间建立连接…