串口收发

本文深入探讨串口通信的基本原理,包括串口参数设置、数据收发过程以及常见问题解决。通过实例介绍如何在不同平台上实现串口通信,包括使用Python库进行串口操作,并分享了一些实用的调试技巧。
摘要由CSDN通过智能技术生成
//串口收发
#include <ioCC2530.h>
#include <string.h>
#define unsigned int uint
#define unsigned char uchar 
#define unsigned int t1_Count = 0//定时器1溢出次数计数
//定义控制灯的端口
#define LED1 P1_0
//函数声明
void Delay(uint);                     //延时
void initUART0(void)                  //初始化串口
void initTimer1()                     //定时器初始化
UART0SendByte(unsigned char c)        //串口发送准备
UART0SendString(unsigned char *Str)   //串口发送字符数据
//函数功能 :延时                        
void Delay(uint n)
{
   
    uint i;
    for
协议说明: CCU向各个终端所发的数据格式有3种:查询,令牌,广播 查询:CCU向各个终端一对一发送一串数据,CCU在发送完后,终端在一定时间内拥有发言权。 令牌:CCU发出令牌命令后,各个终端收到自己的令牌帧后,拥有总线的发言权, 必须在一定时间内发出帧头,否则,CCU取消该终端的发言权。发言完或者没有发言, 把令牌在规定的时间内传给下一个终端 广播:CCU发出广播帧后,各个终端必须按照广播帧工作,不要回复CCU,也没有总线发言权 格式: 查询:7E, 命令,目标网络,地址,数据长度,数据,校验,7E 令牌:7E,命令,当前虚拟地址,令牌,校验,7E 广播; 7E, FF, FF, FF,数据长度,数据,校验,7E 数据格式说明: 1,7E为帧头,帧尾标志。如果在数据里面遇到有7E,将数据7E拆分为7F,80,如 果数据里面有7F,将7F拆分为7F,81.在接收时,将上面数据合成相应的数。 2,目标网络:为各个终端所在的网络。T/R0 为00,T/R 为01,T/R2 为02,T/R3 为03,T/R4为04,FF为全局广播。 3,地址:为各个受控设备物理地址。如果全局广播就为FF。 4,命令:00为CCU查询各个终端。01为各个终端回复CCU查询。02为令牌命令。 全局广播为FF。 5,数据长度,数据的长度。 6,数据,即要发送的数据。 7, 校验:两个7E之间除了校验的所有数据相加,0X55减去这个数得到的是校验值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值