一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
12
返回列表 发新帖
楼主: gongzhu
收起左侧

[51单片机] stc15校验位的一个问题

[复制链接]
 楼主| 发表于 2020-6-29 11:28 | 显示全部楼层
本帖最后由 gongzhu 于 2020-6-29 11:31 编辑

找到问题了,就是发送最后一句的问题:

  1. void SendData(BYTE dat)
  2. {
  3.     while (busy);               //等待前面的数据发送完成
  4.     ACC = dat;                  //获取校验位P (PSW.0)
  5.     if (P)                      //根据P来设置校验位
  6.     {
  7.         if(PARITYBIT == ODD_PARITY)
  8.             TB8 = 0;                //设置校验位为0
  9.         else if(PARITYBIT == EVEN_PARITY)
  10.             TB8 = 1;                //设置校验位为1
  11.     }
  12.     else
  13.     {
  14.         if(PARITYBIT == ODD_PARITY)
  15.             TB8 = 1;                //设置校验位为1
  16.         else if(PARITYBIT == EVEN_PARITY)
  17.             TB8 = 0;            //设置校验位为0
  18.     }
  19.     busy = 1;
  20.     //SBUF = ACC;                 //写数据到UART数据寄存器
  21.     SBUF = dat;    //上句不正常
  22. }
复制代码

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-5-9 07:55 , Processed in 0.046911 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表