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

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

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

    [LV.1]初来乍到

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

    EDA365欢迎您登录!

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

    x
    本帖最后由 mnfvbnk 于 2020-12-31 14:04 编辑 * j( j- l! z! N. r5 ^

    / @# I* Z/ w% G$ D大神请指点:单片机通讯程序问题( }! R) }3 {! Q& F  n/ s2 e
    void serial () interrupt 4 using 35 @9 C; c: P* U) M" |9 S' I
    {
    # V: b/ C, P$ F: y  |3 B if(RI)
    ( F6 D% I1 D4 `' S {
    7 ^' k. e, U% v! [1 m  unsigned char ch;! h) u3 Z2 P/ y* a" H9 H* W
      RI=0;
    4 O( h0 N6 r" ]9 r8 j  ch=SBUF;
    " b; S+ S% {8 q$ H  if (ch>127): [- k5 [& a$ C7 [
      {
    3 c) N$ d  `9 P# T  count3=0;8 `- G" P7 D  [
      inbuf1[count3]=ch;
    , O, T% W7 F' C6 ~8 L8 a  checksum=ch-128;1 B% a8 `% V' I, ~( L6 A" z# ]
      }1 o  C+ N" j. l+ P, V2 F0 D) A
      else
    5 X- c- A0 |- h" @  {
    , n: o4 E' ?4 ?5 w- O  count3++;
    ; m/ T4 T6 T3 I& ^) z  inbuf1[count3]=ch;
    & S0 L( |5 ~$ w! k# z% b  checksum^=ch;, b8 V- A' c+ @7 ?4 C3 m! M; X
      if ((count3==(INBUF_LEN-1))&&(!checksum))  ; w; [8 I  g4 D1 r8 d& ^9 Z
      {
    ) B5 B$ ~6 j7 t/ B! c2 Z: B  read_flag=1;
    : X1 d% @) a9 g, G: ^' v  }; Z8 F" W# o% }8 z1 A# Q1 o
      }
    - H7 i/ |& M$ j9 }7 A }
    + c2 e& T& C3 _9 \ }1 O  u7 z5 r. G: E5 C

    - b" E* o; O/ K3 H
    # C& I5 v% F  T( g8 rif ((count3==(INBUF_LEN-1))&&(!checksum))     
    ! Y9 Q( X1 }! d1 D& y0 P这一句(!checksum)理解不了, checksum异或效验和的值,应该不为0,取反的话,就一直为假;那这IF怎么成立呢
    . Y2 U: h3 ]8 {! P

    ) w! x# b/ Q: p2 Q/ m! R, z2 p; {& H$ j
    8 L! c, o* f( A+ R- P) N

    该用户从未签到

    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
    - K3 z4 K! Y/ G0 b8 i. f最后读取的是校验和,应该为0.
    3 D# M' D0 Q: {; S' @0 n6 W
    判断校验和用
    1 q' r. m1 S( j3 t/ ?, g  P

    点评

    明白了,是不是就是判断校验和用  详情 回复 发表于 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
    4 o/ U- o/ N+ v3 Z# k判断校验和用
    ' t3 O- @- ~: q# s- E+ K" ~
    明白了,是不是就是判断校验和用

    点评

    对的对的 就是用于校验和的判断,把接收进来的数据进行校验,再和接收到的校验和进行比较  详情 回复 发表于 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:516 l. ?+ Z( b& u$ x! A
    明白了,是不是就是判断校验和用
    6 c- h/ C; B: ], b) [
    对的对的0 z/ \3 C8 v( {1 r% t; g
    就是用于校验和的判断,把接收进来的数据进行校验,再和接收到的校验和进行比较
    / x8 P. u* j8 b
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-6-22 15:14 , Processed in 0.078125 second(s), 29 queries , Gzip On.

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

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

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