⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcmd.c

📁 台湾上尚公司linux嵌入式服务器平台液晶屏操作源码
💻 C
📖 第 1 页 / 共 5 页
字号:
    memset(tmp, 0, 4);     n = data[3];    tmp[0] = (n % 1000) / 100;    tmp[1] = (n % 100) / 10;    tmp[2] = n % 10;     sum = 0;    while(i < 15) {         num = atop_digit(tmp[i - 12], i);        if (num != -1) {            sum += num * pow(10, 14 - i);            i++;        } else             return 0;     }    tmp2[3] = sum;    if (sum > 255)        return -1;     if (tmp2[0] == 0 && tmp2[1] == 0 && tmp2[2] == 0 && tmp2[3] == 0)         return -1;    if (tmp2[0] == data[0] && tmp2[1] == data[1] && tmp2[2] == data[2]        && tmp2[3] == data[3])         return 0;    for (i = 0; i < 4; i++)        data[i] = tmp2[i];    return 1;}//---------------------------------------------------------------------------// input five digitint input_five_digit(unsigned int data) {    int i = 0;    int num = 0, sum = 0, n = 0;    int tmp[5];    memset(tmp, 0, 5);     n = data;    tmp[0] = (n % 100000) / 10000;    tmp[1] = (n % 10000) / 1000;    tmp[2] = (n % 1000) / 100;    tmp[3] = (n % 100) / 10;    tmp[4] = n % 10;     while(i < 5) {         num = atop_digit(tmp[i], i);        if (num != -1) {            sum += num * pow(10, 4 - i);            i++;        } else             return -1;     }    return sum;}//---------------------------------------------------------------------------int save_restart(int ethx) {    int i = 1;    int select = 0;    while ( select != 1) {        switch (select) {            case 1:                return 0;                break;            case 2:                i = i - 1;                if (i < 1) i = 1;                break;            case 3:                i = i + 1;                if (i > 2) i = 2;                break;            case 4:                switch (i){                case 1:                    goto not_save;                    break;                case 2:                    if(ip_flag == ethx)                         set_ip(ethx, &ip_tmp);                     if(netmask_flag == ethx)                         set_netmask(ethx, &netmask_tmp);                     if(gateway_flag == ethx)                         set_gateway(ethx, &gateway_tmp);                     system("restart");                     return 0;                    break;                }                break;        }        lcm_out("Save/Restart", 1, 0);            switch (i){            case 1:                lcm_out("1.NO", 2, 0);                break;            case 2:                lcm_out("2.YES", 2, 0);                break;        }        select = lcm_in();    } not_save:             ip_flag = -1;    netmask_flag = -1;    gateway_flag = -1;    return 0;}//---------------------------------------------------------------------------int serial_number() {    int select = 0;    while ( select != 1) {        lcm_out("Serial number", 1, 0);        lcm_out("unknow", 2, 0);        select = lcm_in();    }    return 0;}#if 0//---------------------------------------------------------------------------int server_name() {    int select = 0;    unsigned char username[16];    memset(username, 0, 16);    while (select != 1) {        lcm_out("Server name", 1, 0);        get_username(&username);        lcm_out(username, 2, 0);        select = lcm_in();    }    return 0;}#endif//---------------------------------------------------------------------------int model_name() {    int select = 0;    while ( select != 1) {        lcm_out("Model name", 1, 0);        lcm_out("SE5116", 2, 0);        select = lcm_in();    }    return 0;}//---------------------------------------------------------------------------int server_state() {    int i = 1;    int select = 0;    while ( select != 1) {        switch (select) {            case 1:                return 0;                break;            case 2:                i = i - 1;                if (i < 1) i = 1;                break;            case 3:                i = i + 1;                if (i > 1) i = 1;                break;            case 4:                switch (i){                    case 1:                        model_name();                        break;                    //case 2:                    //    server_name();                    //    break;                }                break;        }        lcm_out("Server state", 1, 0);        switch (i){            case 1:                lcm_out("1.Model name", 2, 0);                break;            //case 2:            //    lcm_out("2.Server name", 2, 0);            //    break;        }        select = lcm_in();    }     return 0;}//---------------------------------------------------------------------------int ethernet_states() {    int select = 0;    while ( select != 1) {        switch (select) {            case 1:                return 0;                break;        }    lcm_out("Ethernet states", 1, 0);    lcm_out("No link", 2, 0);    select = lcm_in();    }     return 0;}//---------------------------------------------------------------------------int lan_mac(int ethx) {    int select = 0;    unsigned char mac[6];    char tmp[16];    get_mac(ethx, &mac);    sprintf(tmp, "%02X%02X%02X%02X%02X%02X", mac[0], mac[1], mac[2],                         mac[3], mac[4], mac[5]);    while ( select != 1) {        lcm_out("Lan   Mac", 1, 0);        lcm_out_a_char(0x31 + ethx, 1, 4);        lcm_out(tmp, 2, 0);        select = lcm_in();    }    return 0;}//---------------------------------------------------------------------------int ip_mode(int ethx){    unsigned char i;    int select = 0;    i = get_ipmode(ethx);    if( i == 0xFF)        i = 1;    else if( i == 0)        i = 2;    else  {        set_ipmode(ethx, 0xFF);        i = 1;    }    while ( select != 1) {        switch (select) {            case 1:                return 0;                break;            case 2:                i = i - 1;                if (i < 1) i = 1;                break;            case 3:                i = i + 1;                if (i > 2) i = 2;                break;            case 4:                switch (i){                case 1:                    set_ipmode(ethx, 0xFF);                    break;                case 2:                    set_ipmode(ethx, 0);                    break;                }                lcm_out("Save success", 2, 0);                sleep(1);                return 0;                break;        }        lcm_out("Lan   IP Config", 1, 0);        lcm_out_a_char(0x31 + ethx, 1, 4);        switch (i){            case 1:                lcm_out("1.Static", 2, 0);                break;            case 2:                lcm_out("2.DHCP", 2, 0);                break;        }        select = lcm_in();    }     return 0;}//---------------------------------------------------------------------------// input Lan 1 or Lan 2 IP address.int ip_address(int ethx) {    int i;    unsigned char tmp[16];    lcm_out("Lan   IP", 1, 0);    lcm_out_a_char(0x31 + ethx, 1, 4);    sprintf(tmp, "%03d.%03d.%03d.%03d",ip_tmp[0], ip_tmp[1], ip_tmp[2],                  ip_tmp[3]);    lcm_out(tmp, 2, 0);    // if i = 1, ip address is legal; if i = -1, ip address is illegal;    // if i = 0, ip address is not changed.    i = input_address(&ip_tmp);    if ( i == 1) {        ip_flag = ethx;    } else if (i == -1) {        lcm_out("Input error", 2, 0);        sleep(1);    }    return 0;}//---------------------------------------------------------------------------// input Lan 1 or Lan 2 Netmask.int net_mask(int ethx) {    int i;    unsigned char tmp[16];    lcm_out("Lan   Net Mask", 1, 0);    lcm_out_a_char(0x31 + ethx, 1, 4);    sprintf(tmp, "%03d.%03d.%03d.%03d",netmask_tmp[0], netmask_tmp[1],                  netmask_tmp[2], netmask_tmp[3]);    lcm_out(tmp, 2, 0);    i = input_address(&netmask_tmp);    if (i == 1) {        netmask_flag = ethx;    } else if ( i == -1) {        lcm_out("Input error", 2, 0);        sleep(1);    }    return 0;}//---------------------------------------------------------------------------int lan_gateway(int ethx) {    int i;    unsigned char tmp[16];    lcm_out("Lan   Gateway", 1, 0);    lcm_out_a_char(0x31 + ethx, 1, 4);    sprintf(tmp, "%03d.%03d.%03d.%03d",gateway_tmp[0], gateway_tmp[1],                   gateway_tmp[2], gateway_tmp[3]);    lcm_out(tmp, 2, 0);    i = input_address(&gateway_tmp);    if ( i == 1) {        gateway_flag = ethx;    } else if (i == -1) {        lcm_out("Input error", 2, 0);        sleep(1);    }    return 0;}//---------------------------------------------------------------------------int lan(int ethx) {    int i = 1, n = 0;    int select = 0;    unsigned char ip[4];    unsigned char netmask[4];    unsigned char gateway[4];    get_ip(ethx, &ip);    get_netmask(ethx, &netmask);    get_gateway(ethx, &gateway);    for (n = 0; n < 4; n++) {        ip_tmp[n] = ip[n];        netmask_tmp[n] = netmask[n];        gateway_tmp[n] = gateway[n];    }    while ( select != 1) {        switch (select) {            case 1:                return 0;                break;            case 2:                i = i - 1;                if (i < 1) i = 1;                break;            case 3:                i = i + 1;                if (i > 5) i = 5;                break;            case 4:                switch (i){                case 1:                    lan_mac(ethx);                    break;                case 2:                    ip_mode(ethx);                    break;                case 3:                    ip_address(ethx);                    break;                case 4:                    net_mask(ethx);                    break;                case 5:                    lan_gateway(ethx);                    break;                }                break;        }               lcm_out("Lan", 1, 0);        lcm_out_a_char(0x31 + ethx, 1, 4);        switch (i){            case 1:                lcm_out("1.MAC", 2, 0);                break;            case 2:                lcm_out("2.IP config", 2, 0);                break;            case 3:                lcm_out("3.IP address", 2, 0);                break;            case 4:                lcm_out("4.Net mask", 2, 0);                break;            case 5:                lcm_out("5.Gateway", 2, 0);                break;        }        select = lcm_in();    }     if(ip_flag != -1 || netmask_flag != -1 || gateway_flag != -1)        save_restart(ethx);    return 0;}//---------------------------------------------------------------------------int dns_server(int ethx){    int i;    unsigned char dns_ip[4];    unsigned char tmp[16];    get_dns_ip(ethx, &dns_ip);    lcm_out("DNS Server ", 1, 0);    lcm_out_a_char(0x31 + ethx, 1, 11);    sprintf(tmp, "%03d.%03d.%03d.%03d",dns_ip[0], dns_ip[1], dns_ip[2],                  dns_ip[3]);    lcm_out(tmp, 2, 0);    i = input_address(&dns_ip);    if ( i == 1) {        set_dns_ip(ethx, &dns_ip);         lcm_out("Save success", 2, 0);        sleep(1);    } else if (i == -1) {        lcm_out("Input error", 2, 0);        sleep(1);    }    return 0;}//---------------------------------------------------------------------------int network_ntp(){    int select = 0, i = ntp_value;    while ( select != 1) {        switch (select) {            case 1:                return 0;                break;            case 2:                i = i - 1;                if (i < 1) i = 1;                break;            case 3:                i = i + 1;                if (i > 13) i = 13;                break;            case 4:                ntp_value = i;                return 0;                break;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -