在arm开发板上画*旗

1.开发环境:ubuntu,arm-linux-gcc

2.园的公式 (x-a)*(x-a)+(y-b)*(y-b)=r*r

3.*旗的是比是3:2

代码:

#include<stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/mman.h>
int main()
{  
    //打开lcd
    int fd_lcd;
    fd_lcd=open("/dev/fb0",O_RDWR);
    if(fd_lcd<0)
    {
        printf("open fd0 fail\namespace");
        return -1;
    }
    
    int *addr;
    addr=mmap(NULL,800*480*4,PROT_READ|PROT_WRITE,MAP_SHARED,fd_lcd,0);
    if(addr==NULL)
    {
        printf("mmap fail\n");
        return -1;
    }

    int x;//lcd x坐标
    int y;//lcd y坐标
    int red=0x00ff0000;
    int grenn=0x0000ff00;
    int blue=0x000000ff;
    int black=0x00000000;
    int gold=0x00FFD700;
    int white=0x00ffffff;
    int a,b;

    for(y=0;y<480;y++)
    {
        for(x=0;x<800;x++)
        {
            if((a*a+b*b)<((800/3)*(480/4)))
            {
                *(addr+y*800+x)=red;
            }
            else 
            {
                *(addr+y*800+x)=white;
            }
            a=y-480/2,b=x-800/2;
        }
    }

    munmap(addr,800*480*4);
    close(fd_lcd);

    return 0;
}

在arm开发板上画*旗

 

上一篇:GitEA的交叉编译


下一篇:ARM系列之ARM 平台安全架构PSA 固件框架