51单片机实现串口偶校验

2023-05-16

1. STC单片机串口

在这里插入图片描述
在这里插入图片描述

2. PSW是一个8位寄存器。PSW的全称是Program Status Word,即程序状态字。

在这里插入图片描述
奇偶标志位P
每执行一条汇编指令,单片机都能根据A中1的个数的奇偶自动令P置位或清零,奇为1,偶为0。P可以填入TB8,作为偶校验。
此标志位对串行通信的数据传输非常有用,通过就校验可以检验传输的可靠性。

3. 奇偶校验

奇校验(odd parity):让传输的数据(包含校验位)中1的个数为奇数。

在这里插入图片描述

偶校验(even parity):让传输的数据(包含校验位)中1的个数为偶数。
在这里插入图片描述

4. STC单片机串口实现偶校验
//uart.c
unsigned char var0,var;		//var0一定要是全局变量

void Uart_isr( void ) interrupt 4
{
	uint8_t tmpBuf;

	RI = 0;
	tmpBuf= SBUF;

    var = tmpBuf; 
    var0= 0;
    var += var0;
	if(RB8 == P)        //偶校验OK
	{
		//数据接收处理
	}
}


void Uart1Init(void)
{
	//SCON = 0x40; //0100,0000 8 位可变波特率,无校验位, 串口1模式1
	SCON = 0xC0; //1100,0000 9 位可变波特率,偶校验位, 串口1模式3
	//其他串口初始化代码

}
void UartSend(uint8_t var)
{
	var0 = 0;
	var += var0;
	TB8 = P;
	SBUF = var;
	//其他串口发送代码
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

51单片机实现串口偶校验 的相关文章

  • PX4(PIXHAWK)源码开发人员文档(二)——Hello Sky

    前提 用UART1连接PX4FMU和计算机 安装PX4Toolchain 注册Github账户 Step 1 准备源码文件 为了方便管理代码 xff0c 可以使用GIT 版本控制系统 xff0c 在 GitHub上 fork和更新源码 不注
  • PX4(PIXHAWK)源码开发人员文档(二)——Hello Sky(续)

    Step 5 订阅传感器数据 为了做有用的事情 xff0c 应用需要订阅subscribe输入并发布publish输出 e g 电机 或伺服指令 PX4平台真正的硬件抽象 xff08 true hardware abstraction xf
  • PX4(PIXHAWK)源码开发人员文档(三)——进程间通讯的开发者指南

    进程 应用之间的通信 xff08 例如将传感器应用的传感器数据发送到姿态滤波应用 xff09 是 PX4 软件架构的关键部分 进程 xff08 通常又被叫做节点 xff08 node xff09 xff09 通过命名为总线 xff08 bu
  • Ubuntu21.10配置Docker CE 镜像

    Docker CE 是免费的 Docker 产品的新名称 xff0c Docker CE 包含了完整的 Docker 平台 xff0c 非常适合开发人员和运维团队构建容器 APP 参考阿里云官方镜像站 xff1a 阿里巴巴开源镜像站 OPS
  • PX4源码开发人员文档(四)——创建后台程序(应用)

    在 Unix 和其他多任务计算机操作系统中 xff0c 后台程序是指 xff0c 作为后台进程运行的计算机 xff0c 而不是由交互用户直接控制 后台程序概念的主要好处是 xff0c 后台程序可以直接启动 xff0c 而不需要将其发送到精确
  • PHP获取今天、本周、今年开始时间戳

    PHP获取今天 本周 今年开始时间戳 注 xff1a 以下代码在php8 0上测试通过 xff0c 其它版本的php理论上也是可行的 span class token delimiter important lt php span span
  • 搬砖过程中常用的英文单词(代码命名规则)

    注册register用户名 用户userName user密码password pwd路径path成绩score服务器host图片img字符串str数字num
  • CAN 邮箱的理解

    对于CAN邮箱的理解 xff1a CAN总线有接收邮箱和发送邮箱 xff1a 发送邮箱 是用于CAN总线数据发送的 xff0c 总共有3个 xff0c 并且存在优先级关系 优先级越高表示其里面的数据会被优先发送 数据在发送前都会被送到优先级
  • 变量名前为什么要加_下划线

    简单来说 xff0c 含有两个下划线和下划线 43 大写字母开头的标识符是给编译器和标准库用的 xff0c 你不能用 xff0c 否则后果自负 一个下划线开头的随便用 xff0c 只要你不嫌麻烦 而我们一般在前面加 表示私有变量 一般来说
  • 23 张图细讲使用 Devtron 简化 K8S 中应用开发

    23 张图细讲使用 Devtron 简化 K8S 中应用开发 在本文中 xff0c 您将学习如何在多集群环境中使用 Devtron 在 K8S 上进行应用开发 https devtron ai Devtron 附带用于构建 部署和管理微服务
  • 企业级网关 Kong 部署 Spring Boot 项目实战

    企业级网关 Kong 部署 Spring Boot 项目实战 1 概述 在本教程中 xff0c 我们将演示使用 Kong Ingress Controller KIC 在 Kubernetes 上部署 Spring Boot 应用程序 通过
  • Linux Mint(Ubuntu)上 安装 效率神器 utools

    我的 Windows 系统的笔记本只有 256G 固态 xff0c 磁盘已经快用满了 xff0c 最近想装个 Linux 玩玩 xff0c 选择了 Linux Mint xff0c 然后就在闲置的移动硬盘上安装了 Linux Mint 21
  • 图文轻松说透 K8S Pod 各种驱逐场景

    图文轻松说透 K8S Pod 各种驱逐场景 Kubernetes Pod 被驱逐是什么意思 xff1f 它们被终止 xff0c 通常是没有足够资源的结果 但是为什么会这样呢 xff1f 驱逐是指派给节点的Pod 被终止的过程 Kuberne
  • CKA、CKAD、CKS、LFCS、LFCA、LFCE 60$ 刀优惠券

    CKA CKAD CKS LFCS LFCA LFCE 60 刀优惠券 CKA 地址 xff1a https trainingportal linuxfoundation org courses certified kubernetes a
  • 配置Docker CE 镜像

    Docker CE 是免费的 Docker 产品的新名称 xff0c Docker CE 包含了完整的 Docker 平台 xff0c 非常适合开发人员和运维团队构建容器 APP 参考阿里云官方镜像站 xff1a 阿里巴巴开源镜像站 OPS
  • ssh 连接错误 Too many authentication failures 解决方法

    ssh 连接错误 Too many authentication failures 解决方法 背景 有时候使用 ssh 登录 或者 git ssh 方式连接 时会遇到 xff1a Too many authentication failur
  • 报错解决 REMOTE HOST IDENTIFICATION HAS CHANGED

    REMOTE HOST IDENTIFICATION HAS CHANGED 报错 span class hljs meta style color 61aeee line height 26px span span class bash
  • 使用 Helm Cli 将 chart 推送到 Harbor

    使用 Helm Cli 将 chart 推送到 Harbor 背景问题 努力寻找适用于特定版本的 Harbor 和 Helm 的文档 我尝试添加我的仓库 xff08 repo xff09 helm repo span class token
  • 修改 Git 已经提交记录的 用户名 和邮箱

    修改 Git 已经提交记录的 用户名 和邮箱 有关 Git 和版本控制的常见问题 如何更改提交的作者姓名 电子邮件 xff1f 在我们进入解决方案之前 xff0c 让我们找出您到底想要完成什么 xff1a 在提交之前更改作者信息在提交后更改
  • Go 中模拟 Kubernetes 客户端进行单元测试

    是的 xff0c 我们可以模仿 K8s Client xff01 编写单元测试一直是开发人员的痛苦 这样做的主要原因是 xff0c 通常 xff0c 单元测试 xff08 功能单元测试 xff09 不得使用应用程序的任何物理组件 运行实例

随机推荐