找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5007|回复: 1
打印 上一主题 下一主题
收起左侧

error C213: left side of asn-op not an lvalue单片机keil报错

[复制链接]
跳转到指定楼层
楼主

keil报错:error C213: left side of asn-op not an lvalue

单片机源程序:
  1. #include "STC12C5A.h"
  2. #include "iodefine.h"

  3. static    void    DisplayProcess( void );
  4. static    void    PutToDispCache( uint val );
  5. static    void     sendsubf( uint sendword );

  6. static    xdata    uchar     _dispCache[4]    = { 0 };
  7. static    xdata    uchar     _recFlag    = 0;

  8. uint    _receiveword    = 0;

  9. void SBUFinit( void )
  10. {
  11.         S2SMOD     = 0x00;             //波特率无加成
  12.         S2CON     = 0x50;             //01010000 8位可变波特率,无奇偶校验位。
  13.         ES2        = 1;                //允许串口中断
  14.         BRTR    = 1;                //允许独立波特率发生器运行
  15.         BRT        = 96;                //波特率=SCLK/12/(256-BRT)96----9600

  16.         
  17.     while(1){   
  18.         if( _recFlag == 1){
  19.             sendsubf( _receiveword );
  20.             PutToDispCache ( _receiveword );
  21.             Display( _dispCache, 0x22 );
  22.             _recFlag    = 0;
  23.         }
  24.     }
  25. }
  26. void sendsubf( uint sendword )        ///向串口发送数据
  27. {
  28.     ES2        = 0;
  29.     S2TI        = 0;        
  30.     S2BUF    = sendword;             //需要发送的数据先送到SBUF 寄存器中
  31.     while( S2TI==0 );                 //等到数据发送完再进行下一句代码
  32.     S2TI        =0;
  33.     ES2        = 1;
  34. }

  35. void receive_int( void ) interrupt 8  //串口中断,接收数据
  36. {
  37.     if( S2RI ){
  38.          S2RI                    = 0;
  39.          _receiveword        = S2BUF;   
  40.          _recFlag            = 1;
  41.     }else( S2TI = 0 );
  42. }

  43. static    void    PutToDispCache ( uint val )
  44. {
  45.     if( val > 9999 ){                //超过显示最大值,显示最大值9999
  46.         val    = 9999;
  47.     }
  48.     if( val < 0 ){                    //低于显示最小值,显示最小值0
  49.         val    = 0;
  50.     }

  51.     _dispCache[0]    = val / 1000;
  52.     val        %= 1000;
  53.     _dispCache[1]    = val / 100;
  54.     val        %= 100;
  55.     _dispCache[2]    = val / 10;
  56.     _dispCache[3]    = val % 10;
  57. }

复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:264442 发表于 2017-12-20 20:13 | 只看该作者
S2CON &= ~S2RI
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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