• 嵌入式开发实践的第二种柱状图代码


    #include <stdio.h>
    #include <unistd.h>
    #include <sys/types.h>
    #include< sys/ipc.h>
    #include <sys/ioctl.h>
    #include<pthread.h>
    #inelude <fcntl.h>
    #include "s3c2410-adc.h"
    #define ADC_DEV "/dev/adc/0raw"
    static int adc_fd=-1;

    /***************转换初始化程序*****************/
    static int init_ADdevice(void)
    {
    if((adc_fd=open(ADC_DEV,O_RDWR))<0{
    //如若打开文件错误,输出错误
    printf("Error opening %s adc device ", ADC_DEV);
    return-1;
    }
    }
    /******AD转换程*******/
    static int GetADresult(int channel)
    {
    int PRESCALE=0XFF;
    int data=ADC_WRITE(channel,PRESCALE);
    write(adc_fd, &data, sizeof(data));
    read(adc_ fd, &data, sizeof(data));
    return data;
    }
    /******************显示数据** ************** *************/
    void screen(float *d){ //中向屏幕输出显示内容,al. a2、a3三个端口的电压值
    int i;
    printf("ContextType:text/htmI ");
    printf("<head><title>search the data of a0 al a2</title> <meta http-equiv='refresh' content='2'></head>");
    printf("<body margin:auto;padding:auto><table width= 100% ,height=100%>");
    printf("<tr align=center><td colspan=50><h1><font color=0x558822> a1</font>
    <font color=0x446622>a2</font><font color=0x224422>a3</font></h1></td></tr>);
    printf("<tr align=center><td colspan=50><h1><font color=0x558822> %fV</font>
    <font color=0x446622>%fV</font>
    <font color=0x224422>%fV</font></h1></td></tr>",d[0]/100,d[1]/100,d[2]/100);
    //显示a1a2a3的电压值
    printf("<tr align=center height=100><td >");
    if(d[0]>300) {printf("<div style='border:2px solid #666666;height=%f;width=70px;backgroun=#111111;'><p>a1</p></div></td>" ,d[0]);
    }
    //如若a1电压值过高,则显示黑色
    else if(d[0]<50) {printf("<div style='border:2px soild
    #666666;height=%f;width=70px;bakground=#999999;'><p>a1</p></div></td>" ,d[0]);}
    //如若1电压值过低则显示灰色
    else
    printf("<div style 'border:2px soild
    #666666;height=%f;width=70px;bakground=#558822;'><p>a1</p></div></td>" ,d[0]);

    printf("<td>");//如若1电压正常,则显示绿色
    if(d[1]>300){ printf("<div style='border:2px solid
    #666666;height=%f;width=70px;background=#111111;'><p>a2</p></div></td>",d[1]);}
    //如若a2电压值过高,则显示黑色
    else if(d[1]<50){printf("<div style='border:2px soild
    #66666;height=%f;width=70px;background=#999999;'><p>a2</p></div></td>",d[1]);}
    //如若2电压值过低,则显示灰色
    else
    printf("<div style='border:2px solid:#66666;height=%f;width=70px;background#44662;'>
    <p>a2</p></div></td>",d[1]);//如若a2电压值正常,则显示绿色
    printf("<td>");
    if(d[2]>300){printf("<div style='border:2px solid #666666;height=%f;width=70px;background#111111;'>
    <p>a2</p></div></td>",d[2]);//如若a3电压值过高,则显示黑色
    else
    if(d[2]<50){printf("<div style='border:2px solid #666666;height=%f;width=70px;background#999999;'>
    <p>a3</p></div></td>",d[2]);//如若a3电压值过低,则显示灰色
    else

    printf("<div style='border:2px solid #666666;height=%f;width=70px;background=#224422;'><p>a3</p></div></td></tr>",d[2]);//如若a3电压值正常,则显示绿色
    for(i=0;i<3;i++){
    if(d[i]>300){
    printf("<tr align=center<td colspan=50><h1>font color=0x558822>the voltage of %d %f is too high!</font></hl></td></tr> "i,d[i]) ;
    }//显示电压过高时的提示信息
    if(d[i]<50){

    printf("<tr align= center><td colspan=50><h1><font color=0x558822>the voltage of %d %f is too low!</font></h1>/td></tr>"i.d[i];}显示电压过低时的提示信息
    }
    printf("</table></body>") :

    printf"("<script language='JavaScript'>");
    printf(" function myrefresh(){");
    printf("window.location.reload();");
    printf("}");

    printf( "setTimeout('myrefresh()',100));");
    printf("</script>");

    }

    int main(void)
    {
    int i;
    float d[3]={0};
    void * retval;
    if(init_ADdevice()<0)
    return -1;
    for(i=0;i<3;i++)
    d[i]=((int)GetADresult(i)*3.3)/1024.0*100;//进行A/D转换,将数值存入数组
    screen(d);//显示数组中的数值及柱状图
    return 0;
    }

  • 相关阅读:
    [C++] inline内联函数使用方法
    [C++] new和delete运算符使用方法
    [C++] namespace命名空间和using用法
    [C++] 引用类型&
    [C++] wchar_t关键字使用方法
    [C++] typeid关键字使用方法
    json_encode转化索引数组之后依然还是数组的问题
    微信网页授权 的流程
    验证码比较hash_equals 方法
    laravel 模型观察器
  • 原文地址:https://www.cnblogs.com/dys6/p/11304151.html
Copyright © 2020-2023  润新知