找回密码
 注册
关于网站域名变更的通知
查看: 559|回复: 4
打印 上一主题 下一主题

大神请指点:单片机通讯程序问题

[复制链接]
  • TA的每日心情
    开心
    2023-6-12 15:40
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-12-31 14:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    本帖最后由 mnfvbnk 于 2020-12-31 14:04 编辑 0 R* J9 _6 p: S4 Y

    3 I* [: c$ s/ {! ~( j% d大神请指点:单片机通讯程序问题) I6 p* s$ [+ R* R# U7 }: x- `
    void serial () interrupt 4 using 3
    $ ]1 M% h# Y: a- C% @ {! ?- ^) ~: h, o: ^
    if(RI)
    2 b; q, a$ z. {' x2 h {  D' x& ]2 Q9 |5 S) |
      unsigned char ch;2 G7 u0 Y7 v& `2 g& h( M' z
      RI=0;
    ; t. N, h. p* \' G" }# O1 C$ |7 V  ch=SBUF;
    # v& i8 S9 X5 W2 N6 P  if (ch>127)
    * @- T' W* h# J  {+ V. F% O, @8 ^
      count3=0;
    : w: q$ E8 A- }9 ~2 p! N+ \  inbuf1[count3]=ch;2 _3 u5 M. C( ]2 R$ E* M7 e# H5 Y# W4 m
      checksum=ch-128;
    & ?: C1 B7 B3 W" s$ X5 M4 ]$ Z  }) L3 t; R. M- ]8 {
      else
    9 l" _0 @: y; G1 ~- T, Y* x. r  {0 F, }, j2 U5 C8 [4 I1 h
      count3++;/ b+ P) W9 ]* U) K- P. U: F) {
      inbuf1[count3]=ch;
    3 _2 e2 g# m1 S" y/ l; Y  checksum^=ch;7 v; f! A6 a! B" C! u: ~. {6 d7 |& W4 _
      if ((count3==(INBUF_LEN-1))&&(!checksum))  
    9 n+ t( ]+ r5 ]: W3 b$ @! }: X! U  {
    8 A1 `  p; k% Y( `% T5 ?1 c, W9 e0 |% B  read_flag=1;
    8 w+ C# Y/ R6 ]! `6 v  }
    1 |3 H7 @3 D" u. n+ C4 }0 U  }0 t8 l5 |9 r. w
    }
    . m: v, R  ~/ G4 \, p }, c9 b  G" S4 X- _/ {6 w

    + }1 b* i; G% ?% t+ Y0 i( W: l
    " c. ^8 P  U; p  Y# r8 Kif ((count3==(INBUF_LEN-1))&&(!checksum))     
    4 N1 `4 p  b6 S% ^这一句(!checksum)理解不了, checksum异或效验和的值,应该不为0,取反的话,就一直为假;那这IF怎么成立呢
    ( ~+ X% s' I% t; s
    ; f: Y2 W# e! J- _3 g
    " ~; O+ S! i& g# v$ A. r

    该用户从未签到

    2#
    发表于 2020-12-31 14:29 | 只看该作者
    最后读取的是校验和,应该为0.

    点评

    判断校验和用  详情 回复 发表于 2021-1-4 13:31
  • TA的每日心情
    开心
    2023-5-15 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2021-1-4 13:31 | 只看该作者
    行者~ABC 发表于 2020-12-31 14:29
    ( `" {4 Q1 M2 r9 R$ e% i6 Z* O& A最后读取的是校验和,应该为0.
    ! M0 ?0 O' r* `/ Y. g0 ~4 G
    判断校验和用
    $ P# D- T; c: F1 a( y

    点评

    明白了,是不是就是判断校验和用  详情 回复 发表于 2021-1-4 13:51
  • TA的每日心情
    开心
    2023-6-12 15:40
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
     楼主| 发表于 2021-1-4 13:51 | 只看该作者
    Heaven_1 发表于 2021-1-4 13:31
    # ~: E% v- R. J* x! _4 g# h判断校验和用

    , P6 _+ d2 \$ a# E. [$ |4 o* \明白了,是不是就是判断校验和用

    点评

    对的对的 就是用于校验和的判断,把接收进来的数据进行校验,再和接收到的校验和进行比较  详情 回复 发表于 2021-1-4 14:31
  • TA的每日心情
    开心
    2023-5-15 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    5#
    发表于 2021-1-4 14:31 | 只看该作者
    mnfvbnk 发表于 2021-1-4 13:51
    / v: O7 s) h4 j2 u6 ~2 m" ~! r' w明白了,是不是就是判断校验和用
    , d1 b  e2 F9 p: ~
    对的对的2 J3 L; A. c9 E6 w6 A
    就是用于校验和的判断,把接收进来的数据进行校验,再和接收到的校验和进行比较% @7 ?% \  D* `! _" U6 f2 x( I
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-8-18 15:53 , Processed in 0.140625 second(s), 29 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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