久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2301|回復: 11
收起左側

keil中標紅的顯示錯誤error C216: subscript on non-array or too many dimensions

[復制鏈接]
ID:1075785 發表于 2023-5-7 00:10 | 顯示全部樓層 |閱讀模式
1.png
是為啥呀
error C216: subscript on non-array or too many dimensions

單片機源程序如下:
#include "lcd1602.h"
#include "TLC2543.h"
#include "math.h"
sbit MD1=P1^6;
sbit MD2=P1^7;

sbit RED_LED=P3^6;
sbit GREEN_LED=P3^7;
bit fflag;
unsigned char fcnt;

float ACRead_f;
unsigned int ACRead;
unsigned char ACRMS[4]={0,0,0,0};
unsigned char i;
unsigned int maxa,mina,max,min;
unsigned char keyval;
unsigned char mode;
unsigned char index;


#define KEYMODE 0X01;
#define KEYSHIFT 0X02;
#define KEYMINUS 0X04;
#define KEYPLUS 0X08;

void panduan()
{
        if(ACRead>maxa)
        {
                GREEN_LED=1;
                TR0=1;
                fcnt=100;
                MD1=1;
                MD2=0;
               
        }
        else if(ACRead<mina)
        {
                GREEN_LED=1;
                TR0=1;
                fcnt=25;
                MD1=0;
                MD2=1;        
        }
        else
        {
                RED_LED=1;
                GREEN_LED=0;
                TR0=0;
                MD1=1;
                MD2=1;        
        }
}
unsigned char key_scan()
{
        unsigned char temp;
        temp=P2|0xf0;
        if(temp==0xff) return 0;
        //delay1ms(10);
        temp=~(P2|0xf0);
        while((P2|0xf0)!=0xff);
        return temp;        
}

void main()
{        
        TMOD=0X01;
        TH0=(0-10000)/256;
        TL0=(0-10000)%256;
        ET0=1;
        EA=1;
        TR0=0;
        
        LcdInit();        
        LcdWriteCom(0x80);LcdWriteData('A');LcdWriteData('C');   
        max=188;
        min=170;
        maxa[0]=8;maxa[1]=8;maxa[2]=1;
        mina[0]=0;mina[1]=7;mina[2]=1;
        
        
  while(1)
  {
                        keyval=key_scan();
                        if(mode==1)
                        {
                                if(keyval==KEYMODE) {mode=2;index=0;}
                                else if(keyval==KEYSHIFT)
                                {
                                if(++index>2) index=0;
                                if(index==0) LcdWriteCom(0x86);
                                else if(index==1) LcdWriteCom(0x85);
                                else if(index==2) LcdWriteCom(0x84);
                                LcdWriteCom(0x0e);
                                }
                                else if(keyval==KEYPLUS)
                                {
                                if(++maxa[index]>9) maxa[index]=0;
                                max=maxa[2]*100+maxa[1]*10+maxa[0];
                                LcdWriteCom(0x84);
                                LcdwriteData(maxa[2]+0x30);
                                LcdwriteData(maxa[1]+0x30);
                                LcdwriteData(maxa[0]+0x30);
                                }
                                eles if(keyval==KEYMINUS)
                                {
                                if(maxa[index]==0 maxa[index]=9;
                                else maxa[index]--;
                                
                                max=maxa[2]*100+maxa[1]*10+maxa[0];
                                LcdWriteCom(0x84);
                                
                                
                                }
                        }
                        else if(mode==2)
                        {
                        if(keyval==KEYMODE) {mode=0;LcdWriteData(0x0c);}
                        else if(keyval==KEYSHIFT)
                        {
                        if(++index>2) index=0;
                        if(index==0) LcdWriteCom(0x86);
                        else if(index==1) LcdWriteCom(0x85);
                                else if(index==2) LcdWriteCom(0x84);
                                LcdWriteCom(0x0e);
                                }
                                else if(keyval==KEYPLUS)
                                {
                                if(++mina[index]>9 mina[index]=0;
                                min=mina[2]*100+mina[1]*10+mina[0];
                                LcdWriteCom(0x84);
                                LcdwriteData(mina[2]+0x30);
                                LcdwriteData(mina[1]+0x30);
                                LcdwriteData(mina[0]+0x30);
                                }
                                else if(keyval==KEYMINUS)
                                {
                                if(mina[index]==0) mina[index]=9;
                                else mina[indax]--;
                                
                                if(++maxa[index]>9 maxa[index]=0;
                                min=mina[2]*100+mina[1]*10+mina[0];
                                LcdWriteCom(0x84);
                                LcdwriteData(mina[2]+0x30);
                                LcdwriteData(mina[1]+0x30);
                                LcdwriteData(mina[0]+0x30);
                                }
                        }
                        
                        
                        
                        
                        else//???è?à2a?£ê?
                        {
                                if(keyval==KEYMODE)//?£ê??ü
                                {
                                        mode=1;
                                        index=0;
                                        //éè????1a±ê
                                        LcdWriteCom(0x84);
                                        LcdWriteCom(0x0e);
                                }
                                else
                                {
                                        ACRead_f=read_DC_TLC2543(0x0);
                                       
                                        ACRead_f=ACRead_f*5.0/4095.0*3.1415926535/2.0/sqrt(2)*100.0*51;
                                       
                                        ACRead=ACRead_f;
                                       
                                        panduan();
                                       
                                        ACRMS[5]=ACRead%10;
                                        ACRMS[4]=ACRead/10%10;
                                        ACRMS[3]='.'-'0';
                                        ACRMS[2]=ACRead/100%10;
                                        ACRMS[1]=ACRead/1000%10;        
                                        ACRMS[0]=ACRead/10000%10;
                                       
                                        LcdWriteCom(0xc0);
                                        for(i=0;i<6;i++)
                                        {LcdWriteData('0'+ACRMS[ i]);}
                                }
                        }
               
        }        
        
}

void t0int(void) interrupt 1
{
        static i;
        TH0=(0-10000)/256;
        TL0=(0-10000)%256;
        i++;
        if(i>fcnt)
        {
                i=0;RED_LED=!RED_LED;
        }
}



回復

使用道具 舉報

ID:161164 發表于 2023-5-7 10:08 | 顯示全部樓層
maxa,mina不是數組
回復

使用道具 舉報

ID:1075785 發表于 2023-5-7 10:39 | 顯示全部樓層
lkc8210 發表于 2023-5-7 10:08
maxa,mina不是數組

請問怎么修改呀,不太懂
回復

使用道具 舉報

ID:639106 發表于 2023-5-7 13:59 | 顯示全部樓層
maxa[10],mina[10]
回復

使用道具 舉報

ID:908826 發表于 2023-5-7 15:10 | 顯示全部樓層
一個菜菜菜菜鳥 發表于 2023-5-7 10:39
請問怎么修改呀,不太懂

在你貼出的源代碼中,就沒看見你定義的數組
回復

使用道具 舉報

ID:161164 發表于 2023-5-7 16:16 | 顯示全部樓層
一個菜菜菜菜鳥 發表于 2023-5-7 10:39
請問怎么修改呀,不太懂

unsigned int maxa[3],mina[3],max,min;
回復

使用道具 舉報

ID:1073299 發表于 2023-5-7 20:23 | 顯示全部樓層
還是需要先把C語言的基礎知識搞定才行喔
回復

使用道具 舉報

ID:1075785 發表于 2023-5-7 22:03 | 顯示全部樓層
謝謝大家的回復,這個錯誤沒了,但剩下的錯誤還是不會修改
121.jpg
111.jpg
131.jpg
回復

使用道具 舉報

ID:1075785 發表于 2023-5-7 22:07 | 顯示全部樓層
謝謝大家的回復,學到了
回復

使用道具 舉報

ID:415064 發表于 2023-5-8 08:34 | 顯示全部樓層
#define KEYSHIFT 0X02;   去掉后面的; 語法錯誤   其他幾個宏同理
回復

使用道具 舉報

ID:415064 發表于 2023-5-8 08:35 | 顯示全部樓層
ACRead 是unsigned int        maxa是數組、       類型都不一樣,怎么比較
回復

使用道具 舉報

ID:206581 發表于 2023-5-8 09:23 | 顯示全部樓層
再學學C語言的語法知識
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲最大av网站 | 操操操日日日 | 91在线免费视频 | 亚洲天堂久久 | 午夜天堂精品久久久久 | 激情五月婷婷丁香 | 成人精品免费视频 | 涩涩视频在线观看 | 免费在线观看黄视频 | 国产精品一区二区日韩 | 日韩成年人视频在线 | 色香婷婷 | 国产人成精品一区二区三 | 久草视频在线播放 | 一区二区三区不卡视频 | 国产精品欧美一区二区 | 欧美色综合一区二区三区 | 成人伊人 | 国产不卡视频在线 | 久草视频观看 | 网站黄色在线免费观看 | 久久久久国 | 亚洲精品一区二区 | 不卡一二三区 | 丝袜一区二区三区 | 日韩成人高清 | 女人毛片a毛片久久人人 | 日日想夜夜操 | 黄色毛片网站在线观看 | 男人av的天堂 | 国产乱码久久久久久 | 国产欧美一区二区三区日本久久久 | 久久久国产精品视频 | 日韩手机在线视频 | 美女拍拍拍网站 | 日韩欧美在线观看一区 | 一级做a爰片性色毛片 | 国产精品特级毛片一区二区三区 | 国产成人久久精品 | 精品亚洲一区二区三区 | 伊人久久精品 |