找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6795|回复: 3
收起左侧

error c193:‘ ’ :bad operand type什么意思

[复制链接]
ID:696983 发表于 2020-12-19 00:51 | 显示全部楼层 |阅读模式

#include<reg51.h>
#include<math.h>

#define GPIO_DIG P1
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
sbit K1= P0^0;  

unsigned char code DIG_CODE[17]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

unsigned char DisplayData[8];

void DigDisplay();
void Delay10ms(unsigned int c);

void main(void)
{
unsigned int x,y;
unsigned char i,j;
j=0;
while(1)
{
  
  if(K1==0)      
  {
   Delay10ms(1);  
   if(K1==0)
   {
    y++;   
    for(j=8;j>0;j--)
    {   
       x=y/pow(10,j-1);
     DisplayData[j]=DIG_CODE[x];
     y=y%pow(10,j-1);
    }
    DigDisplay();
    while((i<50)&&(K1==0))
    {
     Delay10ms(1);
     i++;
    }
   i=0;
   }
  }
}
}

void DigDisplay()
{
unsigned char i;
unsigned int j;
for(i=0;i<8;i++)
{
  switch(i)  
  {
   case(0):LSA=0;LSB=0;LSC=0; break;
   case(1):LSA=1;LSB=0;LSC=0; break;
   case(2):LSA=0;LSB=1;LSC=0; break;
   case(3):LSA=1;LSB=1;LSC=0; break;
   case(4):LSA=0;LSB=0;LSC=1; break;
   case(5):LSA=1;LSB=0;LSC=1; break;
   case(6):LSA=0;LSB=1;LSC=1; break;
   case(7):LSA=1;LSB=1;LSC=1; break;
  }
  GPIO_DIG=DisplayData[i];
  j=10;
  while(j--);
  GPIO_DIG=0x00;
}
}
void Delay10ms(unsigned int c)  
{
    unsigned char a, b;
    for (;c>0;c--)
{
  for (b=38;b>0;b--)
  {
   for (a=130;a>0;a--);
  }
}
}

回复

使用道具 举报

ID:332444 发表于 2020-12-19 07:16 | 显示全部楼层
‎错误 c193:' ':坏操作类型‎说明哪里写得有问题了,查提示行到头部所有语句。
回复

使用道具 举报

ID:517466 发表于 2020-12-19 07:25 | 显示全部楼层
意思是:错误的操作数类型
代码改为unsigned int x, y, z;
。。。
z=pow(10,j-1);
x=y/z;
...
y=y%z;
用一个中间变量保存pow的结果,并在后面是用这个这个中间变量进行计算即可
回复

使用道具 举报

ID:517466 发表于 2020-12-19 07:27 | 显示全部楼层
另外,pow计算有可能出错误,建议你自己写一个函数计算。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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